Larry Yang

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

2.          优点:

  1. linq只是语言的扩展,把程序语言直接编译为数据库的原生查询语言(比通用的SQL更深入到数据库引擎内部),这是趋势。已经达到的实际应用,在.Net领域中LINQ思想不是NHibernate思想可比的。。
    注意:
    nhibernate 2.1 开始加入LINQ的支持,Linq for nhibernate。
  2. Linq提供了不同数据源的抽象层,所以可以使用相同的语法访问不同的数据源(只要该数据源有提供程序即可)
    注意:
    微软只提供了SQLServer的provider,其他数据库要么用第三方provider,要么用开源的provider。)也就是说,使用linq,在数据库移植时候,会有一定风险。
  3. Linq为底层的数据存储提供了一个强类型化的界面,可以把底层的数据作为对象来访问。
  4. Linq 语句是在编译期间就做检查的。而不是运行时检查。这样,那里出了问题,可以及时更改,而不是到了运行时才发现问题。
  5. Linq操作的数据更抽象:可以是数据库对象、实体对象、xml、数组和其他几乎是任意的数据形式。后几个是nhibernate难触及到的。
  6. Linq语法级别的数据操作功能,简单、方便、易学。
  7. VS开发环境对Linq更好的支持。
  8. Linq数据操作效率还是比较高的(sqlserver),都是微软自己的东西,应该不会有大问题。

 

 

3.          使用Linq的一些问题:

1,使用linq,需要协调好新旧技术的关系,对团队协调有影响。

2,分散了新人学习SQL,正则的精力,尤其是对SQL基本功的练习。

3,Linq推广程度还不足,不能达到SQL的地步,只会Linq会有风险。

4,不能代替高性能计算。

 

针对以上问题,采取的态度应该是:

1,确认团队80%以上人员熟悉Linq再做架构修改,不要一下子过渡的太急噪,但也要建议大家自学或互相学习Linq应用。

2,新人各种技术都要学习,不可以只学Linq, 忽视了别的技术。

3,打好算法与数据结构基础,遇到性能瓶颈,可以换一种算法来解决。

posted on 2010-03-02 10:35  Larry Yang  阅读(1384)  评论(0)    收藏  举报