github:https://github.com/linq2db/linq2db
参考:https://www.cnblogs.com/VolcanoCloud/p/4205887.html
参考:https://blog.youkuaiyun.com/qq_33435149/article/details/83014977
NuGet查找依赖或者输入命令安装
# 输命令默认安装最新版,但我项目是.net framework 4.0所以会报错不兼容,所以我还是界面安装
Install-Package linq2db
搜linq2db.sqlite,2.x版本要求.net 4.5以上,所以我这里使用1.10.0版本
安装完后,会多了个文件夹LinqToDB.Templates
其中打开CopyMe.SQLite.tt.txt,修改sqlite的路径
改成你sqlite数据库文件的路径
# 假如你的sqlite文件在C:\Data\MyDatabase.sqlite,参数1路径,参数2文件名
LoadSQLiteMetadata(@"C:\Data", "MyDatabase.sqlite");
然后修改CopyMe.SQLite.tt.txt文件名,去掉.txt改成CopyMe.SQLite.tt,保存后会提示是否要执行t4模板
点确认,就会生成ORM实体DataModels,然后记得在app.config/web.config配置上sqlite连接字符串,然后就可以编写代码做增删改查
<connectionStrings>
<!--连接SQLite-->
<add name="ConnStr" connectionString="Data Source=C:\\Data\\MyDatabase.sqlite;Pooling=true;FailIfMissing=false" providerName="SQLite" />
</connectionStrings>
编写增删改查测试类,增删改需要引入using LinqToDB;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DataModels;
using LinqToDB;
namespace DAL
{
public class TestService : ITestService
{
public void Test()
{
//这里为连接串的name
DataDB db = new DataDB("ConnStr");
var list = db.TbNeedSampleItem.ToList();
foreach (var row in list)
{
Console.WriteLine(row.Item);
}
//insert
TbNeedSampleItem tb = new TbNeedSampleItem();
tb.Pid = 1;
tb.Item = "测试测试";
db.Insert(tb);
//提交事务
db.CommitTransaction();
//update
db.TbNeedSampleItem
.Where(u => u.Pid == 1)
.Set(p => p.Item, "测试2")
.Update();
//提交事务
db.CommitTransaction();
//delete
db.TbNeedSampleItem
.Where(p => p.Pid == 1)
.Delete();
}
}
}