LINQ和实体框架都考虑了ORM吗?

LINQ和实体框架有什么区别?

LINQ和实体框架都考虑ORM吗?

两者的优点是什么?


正如其他人已经指出的那样,LINQ是一项基础技术。

你可能正在谈论Linq-to-SQL - 这是一个用于SQL Server的相当简单,直接的ORM。

实体框架也是一个ORM - 然后一些! 这真是一个不同的野兽。

Linq-to-SQL很棒

  • 如果您需要非常简单的1:1映射 - 一个表格等于您的域模型中的一个类
  • 如果你从不需要其他任何东西,但SQL Server(Linq-to-SQL不支持其他任何东西)
  • 如果你想快速启动并运行
  • 另一方面,实体框架

  • 支持多个后端(SQL Server,Oracle,Firebird - 其他可能会遵循)
  • 支持完整的概念数据建模策略 - 您可以定义数据库中的物理模型,应用中的概念模型以及两者之间的映射
  • 使您可以处理诸如将单个业务实体映射到多个表格等功能
  • 支持按层次结构表和按类继承的场景
  • 简而言之:Linq-to-SQL对于SQL Server来说是一个伟大的,简单的和精简的ORM,只要它满足你的需求就可以使用它。 实体框架是一个完全不同的野兽,功能更强大,但也更复杂,更大 - 非常适合您的下一个企业关键型应用程序,但可能对您的个人博客应用程序过度杀伤:-)


    LINQ是.NET Framework的一组扩展,它包含语言集成的查询,设置和转换操作。

    实体框架是.NET Framework的对象关系映射(ORM)框架。


    LINQ允许你使用相同的语法来查询许多不同的数据集。 例如,使用LINQ,您可以查询字符串集合或您自己的对象集合或数组或XML,例如全部使用与SQL语法看起来相似的语法。

    实体框架是一个ORM,以及LINQ to SQL。 两者都使用LINQ来抽取被调用的实际SQL来查询来自DB的记录。

    LINQ的好处在于它可以抽象出查询每个不同数据集所需的细节。 在LINQ之前,我们不得不知道如何查询各种各样的数据集,而这些数据集在很多情况下是非常不同的。

    通过为LINQ创建一个提供者,不同的数据集可以参与LINQ。 例如,您现在可以使用LINQ通过LINQ to Twitter Provider访问twitter。

    链接地址: http://www.djcxy.com/p/33497.html

    上一篇: Are both LINQ and Entity Framework considered ORM?

    下一篇: Which method performs better: .Any() vs .Count() > 0?