大家都用LINQ吗?它优点在哪里? 近来刚接触LINKQ,懂的东西不多,但感觉这东西就是为了加快开发速度,但性能好象实在太差劲。而且平时我都会将SQL操作数据库写成类,要SQL操作的时候直接调用类,传入SQL语句,也挺方便的。那么还有必要去用LINQ吗?它是否有一些十分独特的特性令你不可释手的,望告答!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那CSDN也没必要存在了,所有问题MSDN里都有说。 提高了开发速度自动化的生成http://topic.csdn.net/u/20090724/10/f41a7431-a447-4db2-85b8-a5a03012b0a9.html linq 把所以得数据全都封装好了 增删改 还有什么分页 都有一些属性和调用的方法 ,这样就不用你去连接数据库 些什么存储过程和sql语句 你只要知道调用那个方法是增加 那个事修改 把参数传进去就行了。 很多用过的人是这么说的。 Linq 查询数组首末与统计耗时: 2109.375 毫秒 传统查询数组首末与统计耗时: 296.875 毫秒 Linq 查询数组首末与统计耗时: 2406.25 毫秒 传统查询数组首末与统计耗时: 406.25 毫秒 Linq 查询数组首末与统计耗时: 2156.25 毫秒 传统查询数组首末与统计耗时: 218.75 毫秒 我没用过.因为还在用vs2005开发呢.linq 不单单是 linq to sql 还有 lint to xml 简单的就用LINQ,复杂的就用SQL linq返回结果集一般都是list <>泛型。更加面向对象。 linq可以防sql注入漏洞。 linq可以省掉数据访问层大量的代码。 说实话,这数据不知道是哪来的……要对比的话,应该公平起见,比如:Linq2Sql/entity填充了实体类,并做数据绑定传统ADO.NET填充DataTable并做数据绑定每次测试,程序都应彻底关闭后再开。这样你可以自己试一下,同样的操作和步骤,强类型的linq2sql/entity反而还比DataTable快(当然速度远不如DataReader,因为DataReader并不直接提取数据,而是保持数据连接)。而且,不论是linq2sql/entity还是DataTable/set,都是用DataReader填充的。外加,生成的sql语句的效率来说,大多数查询的效率不比大多数程序员写的低。用sql profile跟一下也能看出来。好多这些对比是不公平的,比如没清掉缓存,比如步骤不相同等。不过,不论如何,封装必定会牺牲一定性能,但我觉得linq2sql/entity的缓存/延迟加载/表达式树已经做的比较好了。 LINQ只是为了适应查询对象的多样化,单纯比速度的话LINQ不可能比传统SQL查询快。因为它本身就是建立在这个基础之上的。这就像说C#程序的速度比C++程序快一样可笑 NC 看到这种回复 就NC AsyncFileUpload的问题 C#如何删除xml里的一部分内容,然后添加一部分内容,在线等啊 ILIst<T>怎么用啊 Gridview 自带的页码问题 高分求在asp网页中引用asp.net网页的方法 问个关于Session的问题 象http://www.aspxcn.com/论坛的首页是怎么做的? asp.net程序的运行环境 关于在asp.net客户端检查问题! 请看获取DropDownList的所择选项的的Value值的问题? 文件下载,中文文件名过长被IE截取,如何解决啊 求一图片轮换代码。
那CSDN也没必要存在了,所有问题MSDN里都有说。
自动化的生成
http://topic.csdn.net/u/20090724/10/f41a7431-a447-4db2-85b8-a5a03012b0a9.html
很多用过的人是这么说的。 Linq 查询数组首末与统计耗时: 2109.375 毫秒
传统查询数组首末与统计耗时: 296.875 毫秒
Linq 查询数组首末与统计耗时: 2406.25 毫秒
传统查询数组首末与统计耗时: 406.25 毫秒
Linq 查询数组首末与统计耗时: 2156.25 毫秒
传统查询数组首末与统计耗时: 218.75 毫秒
linq可以防sql注入漏洞。
linq可以省掉数据访问层大量的代码。
说实话,这数据不知道是哪来的……要对比的话,应该公平起见,
比如:
Linq2Sql/entity填充了实体类,并做数据绑定
传统ADO.NET填充DataTable并做数据绑定每次测试,程序都应彻底关闭后再开。这样你可以自己试一下,同样的操作和步骤,强类型的linq2sql/entity反而还比DataTable快(当然速度远不如DataReader,因为DataReader并不直接提取数据,而是保持数据连接)。
而且,不论是linq2sql/entity还是DataTable/set,都是用DataReader填充的。外加,生成的sql语句的效率来说,大多数查询的效率不比大多数程序员写的低。用sql profile跟一下也能看出来。好多这些对比是不公平的,比如没清掉缓存,比如步骤不相同等。不过,不论如何,封装必定会牺牲一定性能,但我觉得linq2sql/entity的缓存/延迟加载/表达式树已经做的比较好了。
NC 看到这种回复 就NC