欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Linq2DB之研究和探索

程序员文章站 2022-11-05 12:09:02
1,对linq2db使用看法 最近在研究linq2db,用起来还不错,性能还不错的。之前也在博客园有些网友说用ado.net和depper写SQL语句,性能还要高。有时候牺牲点性能,为了提高开发效率,还是要用的。大家应该都知道拼接SQL语句,如果简单的SQL拼接起来还可以接受,要拼接什么链表查询,什 ......

1,对linq2db使用看法

最近在研究linq2db,用起来还不错,性能还不错的。之前也在博客园有些网友说用ado.net和depper写sql语句,性能还要高。有时候牺牲点性能,为了提高开发效率,还是要用的。大家应该都知道拼接sql语句,如果简单的sql拼接起来还可以接受,要拼接什么链表查询,什么一对多表,什么多对一,那拼接起来真是操蛋啊!一个字符错,就全盘都错了。

不想拼接sql语句的话,用linq2db居家写代码必备利器。

linq2db优点:(个人认为,嘻嘻)

1, 使用t4模板自动生成实体类,不用使用其他代码生成器了。方便

2, 集成了linq语法和lambada表达式的写法。

3, 快速实现增删改。

 

2,在 介绍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.configapp.config确保您有一个连接字符串
  • <connectionstrings>
  •   <add name="northwind"
  •     connectionstring = "server=.\;database=northwind;trusted_connection=true;enlist=false;"
  •     providername     = "sqlserver" />
  • </connectionstrings>
  • 3.3,安装好了linq2db包,在对应的类库生成文件夹linqtodb.templates
  • Linq2DB之研究和探索
  • 我们打开这个文件修改里面的copyme.sqlite.tt.txt文件(我用sqlite数据库),把他改成mycontext.tt,
  • 同时也要修改连接数据库的字符串。
  • Linq2DB之研究和探索

4,实现增删改:

  • 增:
·        using (var db = new dbnorthwind())
·        {
·          db.insert(product);
·        }
  • 改:
·        using (var db = new dbnorthwind())
·        {
·          db.update(product);
·        }
  • 删:
·        using (var db = new dbnorthwind())
·        {
·          db.product
·            .where(p => p.discontinued)
·            .delete();
·        }
  •  

有写的不对,希望各路大神批评指正。