LINQ和实体框架都被认为是ORM吗?

web*_*nia 0 orm entity-framework

LINQ和Entity Framework有什么区别

LINQ和Entity Framework都被认为是ORM吗?

两者的优点是什么?

mar*_*c_s 5

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来说是一个伟大的,简单的,精益的'OR'mean ORM - 如果它能满足您的需求,请使用它.实体框架是一个非常不同的野兽,功能更强大,但也更复杂,更大 - 适合您的下一个关键企业应用程序,但可能对您的个人博客应用程序来说太过分了:-)