首页 文章

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

提问于
浏览
0

LINQ和Entity Framework有什么区别

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

两者的优点是什么?

4 回答

  • -1

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

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

  • 5

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

    您可能正在谈论 Linq-to-SQL - 这是一个与SQL Server一起使用的相当简单,直接的ORM .

    Entity Framework 也是一个ORM - 然后是一些!真的,这是一个完全不同的野兽 .

    Linq-to-SQL is great

    • 如果您需要非常简单的1:1映射 - 一个表等于域模型中的一个类

    • 如果除了SQL Server之外你什么都不需要(Linq-to-SQL不支持其他任何东西)

    • 如果你想快速启动并运行

    Entity Framework on the other hand

    • 支持多个后端(SQL Server,Oracle,Firebird - 其他可能会跟随)

    • 支持完整的概念数据建模策略 - 您可以在数据库中定义物理模型,在应用程序中定义概念模型,以及在两者之间进行映射

    • 使您能够处理将单个业务实体映射到多个表的操作

    • 支持每个层次表和每个类的表继承方案

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

  • 3

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

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

    LINQ的优点在于它抽象出查询每个不同数据集所需的详细信息 . 在LINQ之前,我们不得不知道如何查询在很多情况下非常不同的每种数据集 .

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

  • 3

    linq代表“语言集成查询”,因此您可以使用它来翻译c#代码中的tsql查询 .

    实体框架是一个框架,可以让您自上而下地对域进行建模

相关问题