Linq对SQL有什么问题?

Eri*_*bes 9 .net database linq-to-sql

Linq对SQL有什么问题?

或者 - Linq to SQL会使它不适合新项目或现有项目吗?我想知道为什么你为某个特定项目选择Linq to SQL - 包括哪些项目参数使它不合适.

joh*_*hnc 16

它不太适合数据库模式的更改.您必须重建dbml层并重新生成数据上下文.

像任何ORM一样(我不会讨论它是否是ORM),你必须要知道正在生成什么SQL,以及它将如何影响你的调用.

插件不是批量生产的,因此性能成本很高.

它正在落后于实体框架

尽管它使用的提供程序模型允许为其他DBMS平台构建提供程序,但只支持SQL Server.

[ 编辑 @AugustLights - 根据我的经验:]延迟加载可能需要一些黑客才能开始工作.

话虽如此,我认为如果使用得当它非常方便

  • 如果你没有使用设计师或代码,怎么办?映射可以通过属性或XML配置完成 - 在这种情况下,响应模式的更改,Linq to SQL将类似于其他ORM,不是吗? (4认同)
  • >您需要设置太多属性.<很难.将[Column]放置在IsPrimaryKey = true的每个属性上,并且需要一些[Association]将为您提供很长的路要走. (2认同)

小智 9

对于需要使用SQL Server以外的数据库的项目:

1)您被锁定使用SQL Server

对于具有复杂实体关系和/或随时间逐渐变化的关系的项目:

2)您被锁定为表到类的一对一映射

对于必须使用1.x版.NET的项目

3)不适用于.NET 1.x.