Entity Framework 和 LINQ to SQL by .NET 4.0 有什么区别? [英] What is the difference between Entity Framework and LINQ to SQL by .NET 4.0?

查看:44
本文介绍了Entity Framework 和 LINQ to SQL by .NET 4.0 有什么区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在检查 专业 ASP.NET MVC 第二版 并实现了 EF 取代了 LINQ to SQL.我从第一本书就熟悉 LINQ to SQL,但我对 EF 一无所知.无论如何,在阅读代码时,除了名称之外似乎没有任何变化.相同的旧存储库类,相同的旧功能.

I was checking 2nd edition of Professional ASP.NET MVC and realized EF replaced LINQ to SQL. I am familiar to LINQ to SQL from the first book but I know nothing about EF. Anyway while reading the code, it seems like nothing has changed except the name. Same old repository classes, same old functions.

我做了一些研究.我知道 LINQ 不仅限于 SQL.此外,EF 不限于 Microsoft 系列 SQL 服务器.在这个 2 年前的问题中,人们对 EF 不满意,说它过于复杂和所有.但现在我正在阅读 EF 名称下的相同代码.仅使用 LINQ to SQL 插入的 ADO.NET 实体模型生成类.任何人都可以清除关于 EF 功能的大惊小怪,因为它现在是事实上的标准 ORM?

I did a little research. I know LINQ is not limited to SQL. Also EF is not limited Microsoft-family SQL servers. In this 2 year old question people are not happy with EF, saying it's overcomplicated and all. But now I'm reading same code under EF name. Only classes are generated with ADO.NET Entity Model insted of LINQ to SQL. Can anybody clear out the fuss about EF features since it's the de facto standart ORM now?

推荐答案

它们有些相似,可以以非常相似的方式使用,代码方面,但它们有一些重要的区别.请注意,LINQ"与LINQ to SQL"不是一回事;EF 也使用 LINQ.一些显着差异是:

They are somewhat similar, and can be used in a very similar way, code-wise, but they have some important differences. Note that "LINQ" is not the same thing as "LINQ to SQL"; the EF also uses LINQ. Some notable differences are:

  • LINQ to SQL 在很大程度上只是 SQL Server,与其说是设计不如说是实现.如果您有兼容的 ADO.NET 提供程序,EF 旨在支持并且确实支持多个 DB.
  • 开箱即用,LINQ to SQL 的数据库元数据更改非常糟糕.您必须从头开始重新生成模型的各个部分,并且会丢失自定义设置.
  • EF 支持多对多关系和继承等模型功能.LINQ to SQL 不直接支持这些.
  • 在 .NET 3.5 中,LINQ to SQL 对 SQL Server 特定功能的支持比 EF 好得多.这在 .NET 4 中大都不是真的;他们在这方面非常相似.
  • EF 允许您选择 Model First、DB First 或 Code First 建模.LINQ to SQL,开箱即用,实际上只支持 DB First.

这篇关于Entity Framework 和 LINQ to SQL by .NET 4.0 有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆