使用 Linq2DB操作sqlite

github:https://github.com/linq2db/linq2db

参考:https://www.cnblogs.com/VolcanoCloud/p/4205887.html

参考:https://blog.csdn.net/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();
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值