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之研究和探索的更多相关文章
- 基于 Equinox 的 OSGi Console 的研究和探索
自定制 OSGi Console 进行组建和服务生命周期管理模块化编程的好处已经很好地被理解了约 40 年,但在 OSGi 之前,开发人员不得不自己发明模块化设计和系统.随着软件应用体系结构的不断发展 ...
- Scrapy研究和探索(五岁以下儿童)——爬行自己主动多页(抢别人博客所有文章)
首先.在教程(二)(http://blog.csdn.net/u012150179/article/details/32911511)中,研究的是爬取单个网页的方法.在教程(三)(http://blo ...
- Scrapy研究和探索(七)——如何防止被ban大集合策略
说来设置的尝试download_delay少于1,不管对方是什么,以防止ban策略后.我终于成功ban该. 大约scrapy利用能看到以前的文章: http://blog.csdn.net/u0121 ...
- 对html与body的一些研究与理解
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=259 一.写在前面的最 ...
- 王亮:游戏AI探索之旅——从alphago到moba游戏
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云加社区技术沙龙 发表于云+社区专栏 演讲嘉宾:王亮,腾讯AI高级研究员.2013年加入腾讯,从事大数据预测以及游戏AI研发工作.目前 ...
- 探索式软件测试—Exploratory Software Testing
最近找到去年上半年看过一本关于测试方面书籍的总结笔记,一直放在我的个人U盘里,当时是用Xmind记录的,现在重新整理下分享给大家了! James A.Whittaker [美] 詹姆斯·惠特克(软件测 ...
- 深度学习实战篇-基于RNN的中文分词探索
深度学习实战篇-基于RNN的中文分词探索 近年来,深度学习在人工智能的多个领域取得了显著成绩.微软使用的152层深度神经网络在ImageNet的比赛上斩获多项第一,同时在图像识别中超过了人类的识别水平 ...
- 寄生线虫免疫学研究新路径!华中农业大学胡敏团队报道寄生线虫N-糖基化修饰图谱
N-糖基化修饰是真核生物中一种重要的蛋白质翻译后修饰,在许多生物学过程中起着关键作用,包括蛋白质折叠.受体-配体相互作用.免疫应答和疾病发病机制等.近年来,高精度质谱技术的出现促进了糖组和糖蛋白质组的 ...
- 【腾讯Bugly干货分享】H5 视频直播那些事
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57a42ee6503dfcb22007ede8 Dev Club 是一个交流移动 ...
随机推荐
- 从零开始学 Web 之 Ajax(六)jQuery中的Ajax
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- JavaWeb学习(二)———Tomcat服务器学习和使用(一)
一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml ...
- .Net Core Cors中间件解析
一.同源策略和资源跨域共享 1.同源策略 同源策略,它是由Netscape提出的一个著名的安全策略.现在所有支持JavaScript 的浏览器都会使用这个策略.所谓同源是指,域名,协议,端口相同. 1 ...
- [POI2006] PRO-Professor Szu
Description \(n\) 个别墅以及一个主建筑楼,从每个别墅都有很多种不同方式走到主建筑楼,其中不同的定义是(每条边可以走多次,如果走边的顺序有一条不同即称两方式不同). 询问最多的不同方式 ...
- [PHP] 算法-数组重复数字统计的PHP实现
在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为7的数组{ ...
- C#特性之数据类型
这篇文章主要通过演示类在不同发展中的不通过定义方法,来向读者表述它们之间的区别和联系. 在C#1时代,我们喜欢这样定义类: public class Product { private string ...
- java多线程关键字volatile、lock、synchronized
--------------------- 本文来自 旭日Follow_24 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/xuri24/article/detail ...
- 【读书笔记】iOS-开发者证书
虽然使用通配符听起来很赞,但问题是使用这种App ID的应用无法使用苹果的Push Notification服务以及应用内支付服务. 如果你有钱的话,建议单独买一个设备用于开发,将来你可能会安装iOS ...
- getRealPath函数编译报错问题
ServletActionContext.getRequest().getRealPath("");函数虽然已被淘汰,但在获取服务器绝对路径时仍有使用.关于 ServletActi ...
- 不用Visual Studio,5分钟轻松实现一张报表
常规的报表设计,如RDLC.水晶报表等,需要安装Visual Studio,通过VS提供的报表设计界面来设计报表,通过VS设计报表对.NET开发者而言非常方便,但是对于非开发人员,要安装4G的一个VS ...