Linq to SQlite简单示例(linq2db版)

一、在NuGet安装linq2db.SQLite





二、使用T4模板生成Linq to SQLite类

将LinqToDB.Templates\CopyMe.SQLite.tt.txt复制一份到Models\CopyMe.SQLite.tt.txt,找到如下代码:

NamespaceName = "DataModels";
LoadSQLiteMetadata(@"C:\Data", "MyDatabase.sqlite");

修改为:

NamespaceName = "ConsoleApp1";
LoadSQLiteMetadata(@"E:\Demo\ConsoleApp1", "test.sqlite");

将Models\CopyMe.SQLite.tt.txt重命名为MyDatabase.tt,自动生成Linq to SQLite类文件MyDatabase1.generated.cs。



三、Linq to SQlite简单示例

在App.config添加数据库连接字符串:

<connectionStrings>
  <add name="MyDatabase" connectionString="Data Source=E:\Demo\ConsoleApp1\test.sqlite" providerName="SQLite" />
</connectionStrings>

好了,现在可以连接操作SQLite了:

using LinqToDB;
using System;
using System.Linq;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var db = new TestDB())
            {
                //Insert
                db.Insert(new UserTB() { Name = "张三", Age = 20 });
                var id = db.InsertWithInt32Identity(new UserTB() { Name = "李四", Age = 30 });

                //Update
                var user1 = db.UserTbs.FirstOrDefault();
                user1.Name += "new";
                db.Update(user1);

                //Delete
                var user2 = db.UserTbs.OrderByDescending(item => item.Id).FirstOrDefault(); //不支持方法LastOrDefault
                db.Delete(user2);
                //db.UserTbs.Where(item => item.Id == id).Delete();

                //Select
                var users = db.UserTbs.ToList();
                foreach (var item in users)
                {
                    Console.WriteLine("{0},{1},{2}", item.Id, item.Name, item.Age);
                }
            }

            Console.ReadLine();
        }
    }
}



说明:linq2db.SQLite 2.0.0+只能在.NET Framework 4.5框架下运行,其他低版本(v1.10.0-)可运行于.NET Framework 4.0框架中。

相关资料

[1].linq2db官网:https://github.com/linq2db/linq2db
[2].C#中利用Nuget包使用SQLite数据库:https://www.cnblogs.com/lxzhangying/p/3227110.html

评论: 0 | 引用: 0 | 查看次数: 4556
发表评论
登录后再发表评论!