近来刚接触LINKQ,懂的东西不多,但感觉这东西就是为了加快开发速度,但性能好象实在太差劲。而且平时我都会将SQL操作数据库写成类,要SQL操作的时候直接调用类,传入SQL语句,也挺方便的。那么还有必要去用LINQ吗?它是否有一些十分独特的特性令你不可释手的,望告答!!

解决方案 »

  1.   


    那CSDN也没必要存在了,所有问题MSDN里都有说。
      

  2.   

    提高了开发速度
    自动化的生成
    http://topic.csdn.net/u/20090724/10/f41a7431-a447-4db2-85b8-a5a03012b0a9.html
      

  3.   

    linq  把所以得数据全都封装好了  增删改 还有什么分页  都有一些属性和调用的方法 ,这样就不用你去连接数据库 些什么存储过程和sql语句  你只要知道调用那个方法是增加 那个事修改 把参数传进去就行了。
      

  4.   


    很多用过的人是这么说的。  Linq 查询数组首末与统计耗时: 2109.375 毫秒
      传统查询数组首末与统计耗时: 296.875 毫秒
      Linq 查询数组首末与统计耗时: 2406.25 毫秒
      传统查询数组首末与统计耗时: 406.25 毫秒
      Linq 查询数组首末与统计耗时: 2156.25 毫秒
      传统查询数组首末与统计耗时: 218.75 毫秒
      

  5.   

    我没用过.因为还在用vs2005开发呢.linq 不单单是 linq to sql 还有 lint to xml
     
      

  6.   

    简单的就用LINQ,复杂的就用SQL
      

  7.   

    linq返回结果集一般都是list <>泛型。更加面向对象。 
    linq可以防sql注入漏洞。 
    linq可以省掉数据访问层大量的代码。
      

  8.   


    说实话,这数据不知道是哪来的……要对比的话,应该公平起见,
    比如:
    Linq2Sql/entity填充了实体类,并做数据绑定
    传统ADO.NET填充DataTable并做数据绑定每次测试,程序都应彻底关闭后再开。这样你可以自己试一下,同样的操作和步骤,强类型的linq2sql/entity反而还比DataTable快(当然速度远不如DataReader,因为DataReader并不直接提取数据,而是保持数据连接)。
    而且,不论是linq2sql/entity还是DataTable/set,都是用DataReader填充的。外加,生成的sql语句的效率来说,大多数查询的效率不比大多数程序员写的低。用sql profile跟一下也能看出来。好多这些对比是不公平的,比如没清掉缓存,比如步骤不相同等。不过,不论如何,封装必定会牺牲一定性能,但我觉得linq2sql/entity的缓存/延迟加载/表达式树已经做的比较好了。
      

  9.   

    LINQ只是为了适应查询对象的多样化,单纯比速度的话LINQ不可能比传统SQL查询快。因为它本身就是建立在这个基础之上的。这就像说C#程序的速度比C++程序快一样可笑
      

  10.   


    NC 看到这种回复 就NC