我注意到对Linq To Entities似乎存在相当大的敌意,特别是来自Alt.Net的人。我理解对更多“拖放”编程的抵制,但根据我的理解,Linq To Entities不需要它。
我们目前正在使用Linq to SQL,我们正在使用DBML文档来定义它(一旦你获得了十几个表,设计师就没用了。)
那么为什么同样的方法不能用于Linq To Entities?
答案 0 :(得分:6)
实际上,一旦你开始钻研它,LTE对于企业级框架来说是完全没用的。事实上,很少有继承支持(在LTS中)也会产生大量冗余代码。此外,我将回到LTS(Linq to SQL),因为它实际上允许您通过Attributes而不是File定义映射。 LTE仅适用于外部文件。
答案 1 :(得分:5)
我认为这本身并不是对想法的讨厌。只是人们不喜欢它的实现。
http://efvote.wufoo.com/forms/ado-net-entity-framework-vote-of-no-confidence/
答案 2 :(得分:2)
Linq to Entity仇恨是当之无愧的。这个产品没有任何目的更复杂,然后蹩脚的演示GU在他的博客上使用它。 EF远未准备好迎接黄金时段。微软无法在.BLOAT世界中获得正确的数据,他们似乎每次风都会改变数据范例。 FoxPro使用相同的基本数据核心已经存在了20年。鉴于SQL Server使用了大量的VFP数据技术,MSFT可能会从有用的东西中学习一些操作数据和数据中心语言。
答案 3 :(得分:1)
我在Linq to Entities和整体实体框架的原则上卖得很好,但我对它目前的化身有所保留。不过,我确实承认自己并没有将它用于任何自我教育和非常小的方式。灵活程度似乎还没有,但我相信它会来。一位MS技术推广人员(伟大的职位)告诉我,EF是未来的MS战略选择。假设是这种情况,我只能看到这个领域的事情变得更好。
答案 4 :(得分:1)
也可能存在一些“第二位”的敌意。 MS已经非常推出L2E市场,我大约三年前左右对ORM感兴趣,而MS在这一点上无处可见。
我们很多人已经花时间学习另一个ORM(例如NHibernate)并习惯了某种级别和类型的功能,而这在L2E中并不明显。
这个“第二名”的仇恨并不是老事,说实话我不知道为什么MS不会花更多的时间来支持现有的解决方案,我们之前已经看过这一切与NAnt - > MSBuild和NUnit - > MsTest,如果他们只是接受了一个更好,更成熟的解决方案,并努力支持这一点而不是一直酝酿自己,那么每个人都会节省大量的时间和精力。
答案 5 :(得分:0)
我想补充说,TPT继承的LTE实施简直就是犯罪。请参阅我的问题here。
虽然我在这里,但我相信很多published EF pundits至少部分是同谋。我还没有找到关于EF的任何已发布的材料,它们提醒我们不要查询基类型。如果我在我拥有的模型上尝试它,SQL Server就会放弃异常。
您的SQL语句的某些部分是 嵌套得太深了。重写查询 或者将其分解为较小的查询。
我很乐意重写查询,但是LTE解除了我的负担。谢谢(^不是)