木子屋 Dnawo's BLOG

Linq to SQlite简单示例(linq2db版)

👤 dnawo 📅 2020-04-07 👁 6410 👍 0 💬 0 🔄 来源:本站原创
一、在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)

暂无评论。

验证码
评论需审核通过后显示
← 上一篇 数据库介绍与分类[转] 下一篇 → Windows设置指定用户名不出现在登录界面的方法