我知道linq与sql和实体框架之间的高层差异,但是,我希望得到其他已经自己进行切换的人的建议,或者对两者都有足够的经验。从强大的linq到sql背景,就实现和低级细节而言,当我开始用实体框架编写新的数据访问层项目时,我需要知道哪些重要的事情?
我已经创建了我的edmx文件(我选择了数据库优先的方法),到目前为止,所有内容看起来都与linq to sql相似。什么会帮助我是一个简短的项目列表,例如,在linq to sql中,你做[this] [这种方式],但在实体框架中,你会想要这样做[这种方式]。
很抱歉,如果这是一个奇怪的问题,但任何尝试答案都将非常感谢。谢谢!
答案 0 :(得分:1)
在L2S和EF之间的新项目中,我建议使用EF(考虑实体框架4.0或更高版本,不要使用早期EF版本)。
虽然Linq to SQL是表映射的类,但是EF 4是一个完整的ORM(对象关系映射)工具,具有不同的映射方案。
使用EF,您可以获得很大的灵活性:
与LINQ Provider紧密集成。
使用Linq2SQL进行单元测试是一场噩梦。 使用EF,您可以开箱即用POCO(Plain Old CLR Object)类。在L2S中,实体类紧密耦合到L2S名称空间。
EF也可以在域驱动设计方案中为您提供帮助。
Microsoft认为现在EF是第一个数据库访问方法,它是RIA服务或MVC数据库脚手架等其他服务的基础。
LinqToSql现在是仅在Windows Phone方案中的第一种数据库访问方法。
答案 1 :(得分:0)