Linq2DB之研究和探索
Posted 1991-1025
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linq2DB之研究和探索相关的知识,希望对你有一定的参考价值。
1,对linq2db使用看法
最近在研究linq2db,用起来还不错,性能还不错的。之前也在博客园有些网友说用ado.net和depper写SQL语句,性能还要高。有时候牺牲点性能,为了提高开发效率,还是要用的。大家应该都知道拼接SQL语句,如果简单的SQL拼接起来还可以接受,要拼接什么链表查询,什么一对多表,什么多对一,那拼接起来真是操蛋啊!一个字符错,就全盘都错了。
不想拼接sql语句的话,用linq2DB居家写代码必备利器。
Linq2DB优点:(个人认为,嘻嘻)
1, 使用T4模板自动生成实体类,不用使用其他代码生成器了。方便
2, 集成了linq语法和lambada表达式的写法。
3, 快速实现增删改。
2,在https://linq2db.github.io/ 介绍Linq2DB
LINQ to DB
LINQ to DB是最快的LINQ数据库访问库,在POCO对象和数据库之间提供简单,轻便,快速且类型安全的层。
从结构上讲,它比Dapper,Massive或PetaPoco等微ORM更上一步,因为你使用LINQ表达式而不是魔术字符串,同时在代码和数据库之间保持一个薄的抽象层。您的查询由C#编译器检查,并允许轻松重构。
但是,它没有LINQ to SQL或Entity Framework那么重。没有变更跟踪,因此您必须自己管理,但从积极的方面来说,您可以获得更多控制权并更快地访问您的数据。
换句话说,LINQ to DB是类型安全的SQL。
3, VS2017 安装linq2db
- 3.1在VS 程序包管理器控制台输入:Install-Package linq2db - .NET和.NET Core,VS就帮你下载这个linq2db包。
- 3.2在您的
web.config
或app.config
确保您有一个连接字符串
- <connectionStrings>
- <add name="Northwind"
- connectionString = "Server=.;Database=Northwind;Trusted_Connection=True;Enlist=False;"
- providerName = "SqlServer" />
- </connectionStrings>
- 3.3,安装好了linq2db包,在对应的类库生成文件夹LinqToDB.Templates
- 我们打开这个文件修改里面的CopyMe.SQLite.tt.txt文件(我用sqlite数据库),把他改成MyContext.tt,
- 同时也要修改连接数据库的字符串。
4,实现增删改:
- 增:
·
using(var db =
newDbNorthwind())
·
{
·
db.Insert(product);
· }
- 改:
·
using(var db =
newDbNorthwind())
·
{
·
db.Update(product);
· }
- 删:
·
using(var db =
newDbNorthwind())
·
{
·
db.Product
·
.Where(p => p.Discontinued)
·
.Delete();
· }
有写的不对,希望各路大神批评指正。
以上是关于Linq2DB之研究和探索的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Linq2DB 在处理 DataContext 后执行 SQL 语句
python 用于数据探索的Python代码片段(例如,在数据科学项目中)