gpt4 book ai didi

.net - 使用 ADO.Net 实体模型的利弊

转载 作者:行者123 更新时间:2023-12-05 00:42:39 24 4
gpt4 key购买 nike

你好

使用 ADO.NET 实体模型作为数据层的优缺点是什么?如果我要使用这项技术,我应该使用 LINQ 吗?

谢谢

最佳答案

首先:您不必使用 LINQ 来使用 Entity Framework (EF),但它肯定会有所帮助。 EF 基于 EF 团队称为 Entity SQL 的东西,所以当您使用 LINQ to Entities 时,真正发生的事情是 LINQ 表达式被转换为实体 SQL,实体 SQL 又被转换为您的数据库使用的任何 SQL 方言(T-SQL 用于SQL 服务器)。

EF 的优缺点是一个有争议的话题,因为大多数人并不特别喜欢 EF,但我会尽量保持中立。

优点

  • 与 LINQ to SQL (L2S) 一起,LINQ to Entities (L2E) 和 EF 是目前微软提供的最好的数据访问 API。尽管存在所有缺点,但在大多数情况下,它们比“传统”ADO.NET 好得多。
  • 虽然 L2S 更简单,但 L2E 已经被标记为微软数据访问 API 的 future ,所以如果你想留在主流的微软 API 流中,你应该使用 L2E。看起来 L2S 不会有太多新的发展。
  • EF 将在 .NET 4 中获得相当大的功能和灵活性提升

  • 缺点
  • 与 EF 合作很难。当涉及架构更改时,它非常脆弱,并且在底层架构更改时更新它是一个婊子
  • EF 生成的 T-SQL 很糟糕(尽管这应该在 .NET 4 中改变)
  • 持久性无知是不可能的(直到 .NET 4)
  • 许多 LINQ 方法没有实现,因此 API 比看起来更有限。
  • API 并不像人们希望的那样灵活

  • 简而言之,如果您只能使用 BCL 中包含的内容,请使用它,或者,如果您使用的是 .NET 4,请尝试一下;否则,还有开源库形式的更好选择。

    关于.net - 使用 ADO.Net 实体模型的利弊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1867377/

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