Linq对SQL有什么问题?
或者 - Linq to SQL会使它不适合新项目或现有项目吗?我想知道为什么你不为某个特定项目选择Linq to SQL - 包括哪些项目参数使它不合适.
它不太适合数据库模式的更改.您必须重建dbml层并重新生成数据上下文.
像任何ORM一样(我不会讨论它是否是ORM),你必须要知道正在生成什么SQL,以及它将如何影响你的调用.
插件不是批量生产的,因此性能成本很高.
它正在落后于实体框架
尽管它使用的提供程序模型允许为其他DBMS平台构建提供程序,但只支持SQL Server.
[ 编辑 @AugustLights - 根据我的经验:]延迟加载可能需要一些黑客才能开始工作.
话虽如此,我认为如果使用得当它非常方便
对于需要使用SQL Server以外的数据库的项目:
1)您被锁定使用SQL Server
对于具有复杂实体关系和/或随时间逐渐变化的关系的项目:
2)您被锁定为表到类的一对一映射
对于必须使用1.x版.NET的项目
3)不适用于.NET 1.x.