gpt4 book ai didi

entity-framework - linq to sql类和 Entity Framework 有什么区别

转载 作者:行者123 更新时间:2023-12-03 23:38:42 25 4
gpt4 key购买 nike

linq to sql类和 Entity Framework 有什么区别似乎他们都一样工作.net3.5 哪个更好,为什么?*哪个在 .net4 中更好,为什么?*

最佳答案

简要说明:

Linq-to-SQL 是:

  • Visual C# 团队完成的“概念验证”,以展示 Linq 的功能
  • 一个直接的 1:1 映射器 - 在您的代码中一个表变成一个实体
  • 仅适用于 SQL Server
  • 不太适合支持存储过程(例如,您不能创建“复杂类型”来反射(reflect)从存储过程返回的值)
  • 设计人员驱动、数据库优先的方法(如果数据库发生变化,模型将无法轻松更新)
  • 基本上是一种死胡同的技术 - 可能会有错误修复,但肯定没有新功能;它有效 - 但不要指望在这方面有任何进一步的发展

--> 所以 Linq-to-SQL 可以工作,并且在 .NET 3.5 中非常好 - 但不要期望这里有任何新东西....

Entity Framework (至少在 .NET v4 及更高版本中)是:

  • 由 Microsoft 的 ADO.NET/数据库团队完成的“适当的”OR 映射器技术(以及更多)
  • 具有物理层(数据库模式)、概念层(您的 .NET 对象)和这两者之间的映射层(三层方法)的灵活映射器
  • 开箱即用地支持多种数据库(SQL Server、Oracle 等)——为其他数据库编写 Entity Framework 兼容的提供程序相当容易
  • 很好地支持存储过程(您甚至可以为一个实体和一个操作选择一个存储过程,例如删除)
  • 提供数据库优先、模型优先和代码优先的开发方法
  • 如果使用模型 - 如果您的表随时间发生变化,可以从数据库更新该模型
  • Microsoft 正在投入大量资源的产品 - 仍在积极开发中(附加功能、代码优先开发等新方法等)

--> Entity Framework 是我对 .NET 4 和更新版本的明确选择

关于entity-framework - linq to sql类和 Entity Framework 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8277762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com