gpt4 book ai didi

c# - 请推荐.NET ORM进行N层开发

转载 作者:可可西里 更新时间:2023-11-01 08:54:57 26 4
gpt4 key购买 nike

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

8年前关闭。




Improve this question




我需要为 N 层应用程序仔细选择 .NET ORM。
这意味着,我将拥有公开数据的服务器(WCF 服务)和显示数据的客户端。
ORM 应该顺利支持所有相关的序列化问题——对象或对象集合,或者任何必须跨越进程边界的东西。理想情况下,在多进程环境中的用法应该与在单进程中相同。

标准是:

  • db 模式映射到对象的灵活性(首选)
  • 易用性
  • 免费、开源(首选)
  • 必须适合N层(多进程多域应用)
  • 业绩
  • 与 Visual Studio 集成的工具(首选)
  • 可测试性
  • 文档的采用和可用性
  • 支持范围广泛的 RDBMS(首选;我们使用的是 MSSQL,但我不想被绑定(bind)到它)
  • 数据库不可知 - 不同的数据库,相同的 API
  • 最佳答案

    我会推荐 Entity Framework v4。自 v1 以来,它已经有了显着的改进,并且除了开源之外,还支持您所需要的一切:

  • EF 支持多种映射,包括 TPH、TPT 和 TPC。支持 POCO映射,允许您将持久性逻辑与域分开。
  • EF 对 LINQ 提供广泛而出色的支持,提供易于使用的、编译时检查的模型查询。 EF Futures 组件,例如 Code-Only进一步简化使用 EF 的工作,提供纯代码、编译时检查、流畅的 API 来定义您的模型。通过选择约定而不是配置,Code-Only 可以从根本上减少您的模型设计时间,让您可以专注于业务,而无需修补可视化模型和多个 XML 映射文件。
  • 它作为 .NET 4 的一部分是免费的。(抱歉,此处无法满足开源偏好。)
  • EF 通过 self-tracking entities 提供了出色的 N 层解决方案 OOB
  • 自跟踪信息使用开放的 xml 格式传输跟踪数据,因此可以将跟踪支持添加到非 .NET 平台
  • EF v4 的性能非常好,因为在查询生成器上做了大量工作
  • ADO.NET Blog entry关于主题
  • EF 提供极其丰富的可视化设计工具,并允许通过自定义 T4 templates and workflows 对代码生成进行广泛的自定义。
  • EF v4 引入了许多接口(interface),包括 IObjectSet<T>IDbSet<T>接口(interface),大大提高了自定义上下文的单元可测试性
  • EF v4 是 .NET 4 不可或缺的一部分,也是 Microsoft 当前和 future 所有数据计划的核心组件。作为 .NET 的一部分,它的文档非常广泛:MSDN,EFDesign Blog , ADO.NET Blog 、数十个 .NET 和编程站点和博客为该平台提供了大量的文档和支持。
  • 关于c# - 请推荐.NET ORM进行N层开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3251849/

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