我开始设计一个新的应用程序,我想知道的是人们对Linq2SQL或Linq2Entities的看法以及他们认为更快的开发技术.
我也在研究ADO.net数据服务.
是的,同意Slace的意见.
请注意您选择的框架,以确保它满足您的所有需求.
例如,我最近在一个工作项目中强化了实体框架,因为它不能满足我的需求,主要是因为: -
Linq to Entities中你不能做的事情(例如映射到.net枚举类型(grr)和几乎每一次接收'NotSupportedException'的加重,如果你试图通过调用函数来获得你的linq查询语句中的幻想或方法调用(见链接)).
缺乏本地延迟加载(我知道有一些工具,如EF Lazy LoadGen来促进这一点,但它不是我想要加入的东西).
除此之外,命令和框架似乎是直截了当的,而且我使用EF的原因是:
我认为EF更多地是针对企业发展的,并且认为L2S更适合业余爱好者,并且是一个有限的框架.然而,通过进一步的理解和个人,在EF中我不需要任何东西我无法做到L2S,我对L2S很满意.特别是如果它适合stackoverflow,我可以满足可扩展性和效率.
多个DBMS的选项'(我还没看到这个)
有传言称微软正在放弃对Linq的支持和投资.
我喜欢这样一个事实:您可以更新EF .edmx中的表和数据库更改,而无需删除现有的模式模型(您必须在Linq to SQL中执行此操作).虽然,除非您在L2S架构(.dbml)中自定义任何属性,否则不会超级烦人.
进一步阅读(另一篇SO帖子):
LINQ to SQL死了还是活着?
我很想选择EF,我真的不知道如何制造L2S与EF的比赛,如果L2S真的是一个死鸭,耸耸肩.我承认使用EF的主要抱怨是NotSupportedException - 我可以绕过延迟加载,如果我可以在linq中执行方法调用而不会得到这个...
如果您满足以下设计要求,我是LINQ to SQL的忠实粉丝:
MS SQL Server作为数据库引擎
RAD开发
1 - 1类映射就是所需要的
我没有对Entity Framework做过大量工作,但据我所知和我所做的是,当它从LINQ to SQL使用的同一数据库生成时,它没有那么好的性能.
性能较低是由于Entity Framework的性质,它使用ADO而不是您正在使用的数据库服务器的特定提供程序.