有几个“应该我选择了这样或那样的”关于SO和谷歌的问题,还有很多比较LINQ2SQL和LINQ2E。我见过的缺点,差异,缺点,优点,局限性等从旧数据层来的LINQ to SQL /实体框架
我不能说我是专家,但我想知道“你会做什么”,如果你遇到这种情况和原因。
我要的东西添加到“老” 2.0应用程序,最近已迁移到3.5(它种编出来的方块,在这里和那里的一些警告)。由于我不得不添加新的东西,我想开始使用LINQ(2SQL或实体)。
我以前和Linq2SQL一起工作过,我喜欢它是一个快速,易于使用的解决方案...... 如果你不想做太奇怪的事情。如果你来自旧的“记录集”,表格之间的自然1..1关系是天赐之物。同样不错的是,根据您想要使用的表格集合,可以拥有不同的数据上下文。
随着事物和新功能的数量增长,我已经开始考虑尝试实体框架,而不是LINQ2SQL的可能性。我不喜欢后者是无法处理Many2Many关系,而不诉诸于hack。
这就是实体框架的用武之地。但,你不能有多个“小模特”像你LINQ2SQL和“datacontexts”这样做,除非你牺牲some的东西,有些东西other。
数据库有218台,现在,它并没有显着增长。不时有新桌子,但我们并不是每天谈论10桌。我想说,在接下来的一年里,我们将有一个“困难时期”达到250张桌子。
有是许多2个多关系,有些与PK /只PK和一些与骨料(其中实体框架不magically handle,但它可以对付他们。这就是为什么我不希望的原因从LINQ2SQL开始,除非hack是“OK”并且是可接受的方法。
你会做什么?妥协N..N关系(即使存在黑客攻击,它也不会像优雅, “作为一个集成的解决方案),并与Linq2SQL和”有很多小的数据环境,你创建和销毁“哲学,或者,另一方面,与实体框架继续,有一个巨大的数据模型与所有表或关系,并从那里开始? 即使创建多个模型存在缺点(请参阅此处的链接),并让一个巨型模型具有缺点。
也有关于微软“放弃”Linq2SQL的非官方评论(我怀疑,但你永远不知道)。我们的数据库是MSSQL,我不会很快看到变化。
在这个问题上的任何经验将不胜感激。
你是否已经习惯了使用LinqToSql/EntityFramework附带的O/R设计器的概念?看起来你坚持有这种支持,但你有200多张桌子。在这个规模上,像SQLMetal/EdmGen可能会提供更好的整体体验。 [转换一个LinqToSql DAL到的EntityFramework]的 – 2009-10-06 13:02:29
可能重复(http://stackoverflow.com/questions/787807/converting-a-linqtosql-dal-to-entityframework) – 2013-09-20 20:42:41