不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
Linq to SQlite简单示例(linq2db版)
编辑:dnawo 日期:2020-04-07
一、在NuGet安装linq2db.SQLite


二、使用T4模板生成Linq to SQLite类
将LinqToDB.Templates\CopyMe.SQLite.tt.txt复制一份到Models\CopyMe.SQLite.tt.txt,找到如下代码:
修改为:
将Models\CopyMe.SQLite.tt.txt重命名为MyDatabase.tt,自动生成Linq to SQLite类文件MyDatabase1.generated.cs。

三、Linq to SQlite简单示例
在App.config添加数据库连接字符串:
好了,现在可以连接操作SQLite了:

说明: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


二、使用T4模板生成Linq to SQLite类
将LinqToDB.Templates\CopyMe.SQLite.tt.txt复制一份到Models\CopyMe.SQLite.tt.txt,找到如下代码:
复制内容到剪贴板
程序代码

NamespaceName = "DataModels";
LoadSQLiteMetadata(@"C:\Data", "MyDatabase.sqlite");
LoadSQLiteMetadata(@"C:\Data", "MyDatabase.sqlite");
修改为:
复制内容到剪贴板
程序代码

NamespaceName = "ConsoleApp1";
LoadSQLiteMetadata(@"E:\Demo\ConsoleApp1", "test.sqlite");
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>
<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();
}
}
}
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 | 查看次数: 5320
发表评论
请登录后再发表评论!