需要建议:从Linq切换到SQL到实体框架

时间:2011-12-22 14:03:07

标签: c# asp.net entity-framework linq-to-sql c#-4.0

我知道linq与sql和实体框架之间的高层差异,但是,我希望得到其他已经自己进行切换的人的建议,或者对两者都有足够的经验。从强大的linq到sql背景,就实现和低级细节而言,当我开始用实体框架编写新的数据访问层项目时,我需要知道哪些重要的事情?

我已经创建了我的edmx文件(我选择了数据库优先的方法),到目前为止,所有内容看起来都与linq to sql相似。什么会帮助我是一个简短的项目列表,例如,在linq to sql中,你做[this] [这种方式],但在实体框架中,你会想要这样做[这种方式]。

很抱歉,如果这是一个奇怪的问题,但任何尝试答案都将非常感谢。谢谢!

2 个答案:

答案 0 :(得分:1)

在L2S和EF之间的新项目中,我建议使用EF(考虑实体框架4.0或更高版本,不要使用早期EF版本)。

虽然Linq to SQL是表映射的类,但是EF 4是一个完整的ORM(对象关系映射)工具,具有不同的映射方案。

使用EF,您可以获得很大的灵活性:

  • 数据库优先方法
  • 模型第一种方法
  • Code First方法

与LINQ Provider紧密集成。

使用Linq2SQL进行单元测试是一场噩梦。 使用EF,您可以开箱即用POCO(Plain Old CLR Object)类。在L2S中,实体类紧密耦合到L2S名称空间。

EF也可以在域驱动设计方案中为您提供帮助。

Microsoft认为现在EF是第一个数据库访问方法,它是RIA服务或MVC数据库脚手架等其他服务的基础。

LinqToSql现在是仅在Windows Phone方案中的第一种数据库访问方法。

答案 1 :(得分:0)

新罕布什尔的NH要好得多......但是,即使EF是微软宝贝,它也会随着时间的推移而增长