LINQ和实体框架之间有什么区别
LINQ和Entity Framework都被认为是ORM吗?
两者的优点是什么。
答案 0 :(得分:5)
LINQ是一项基础技术 - 正如其他人已经指出的那样。
您可能正在谈论 Linq-to-SQL - 这是一个与SQL Server一起使用的相当简单,直接的ORM。
实体框架也是一个ORM - 然后是一些!真的,这是一个完全不同的野兽。
Linq-to-SQL很棒
实体框架
简而言之:Linq-to-SQL对于SQL Server来说是一个伟大的,简单的,精益的“ORM”ORM - 如果它能满足您的需求,请使用它。实体框架是一个非常不同的野兽,功能更强大,但也更复杂,更大 - 非常适合您的下一个关键企业应用程序,但可能对您的个人博客应用程序来说太过分了: - )
答案 1 :(得分:3)
LINQ 是.NET Framework的一组扩展,包含语言集成的查询,设置和转换操作。
实体框架是.NET Framework的对象关系映射(ORM)框架。
答案 2 :(得分:3)
LINQ允许您使用相同的语法查询许多不同的数据集。例如,使用LINQ,您可以查询字符串集合或您自己的对象集合或数组或XML,例如,使用与SQL语法类似的相同语法。
Entity Framework是一个ORM,以及LINQ to SQL。两者都使用LINQ来抽象被调用的实际SQL以从DB中查询记录。
LINQ的优点在于它抽象出查询每个不同数据集所需的详细信息。在LINQ之前,我们不得不知道如何查询在很多情况下非常不同的每种数据集。
通过为LINQ创建提供程序,不同的数据集可以与LINQ一起参与。例如,您现在可以使用LINQ通过LINQ to Twitter Provider访问twitter。
答案 3 :(得分:-1)
linq代表“语言集成查询”,因此您可以使用它来翻译c#代码中的tsql查询。
实体框架是一个允许您自上而下建模域名的框架