【问题标题】:Code generation - generating DTOs by referencing database tables.代码生成 - 通过引用数据库表生成 DTO。
【发布时间】:2011-12-15 09:20:57
【问题描述】:

我正在使用 NHibernate。我需要生成 DTO 来携带数据。我不想用手做。因此,我正在寻找帮助我的捷径和工具。我希望找到一个简单的工具来生成镜像数据库表的对象。这些对象的属性将具有与数据库表相同的名称和等效类型。

【问题讨论】:

  • @MichaelMaddox 我查看了 T4,但找不到确切的方法。有没有一个例子说明如何使用 T4 来做我想做的事情?
  • 不是一个完美的例子,但你可以在这里得到这个想法:stackoverflow.com/questions/2223421/…

标签: .net sql sql-server nhibernate code-generation


【解决方案1】:

查看数据库并创建类型的工具称为 ORM(对象关系映射器)。有免费的和商业的:Entity Framework 和 LLBLGEN 浮现在脑海中。

如果你已经有了你的类型,你可以使用AutoMapper 来转换成 DTO:

AutoMapper 是一个对象-对象映射器。对象-对象映射通过 将一种类型的输入对象转换为一种类型的输出对象 不同的类型。 AutoMapper 的有趣之处在于它提供了 一些有趣的约定可以消除计算中的脏活 找出如何将类型 A 映射到类型 B。只要类型 B 如下 AutoMapper 的既定约定,几乎是零配置 需要映射两种类型。

【讨论】:

  • 我更新了我的问题以使其更清楚。我已经在使用 NHibernate。我需要生成 DTO,我不想手动完成。因此,我正在寻找可以帮助我的捷径和工具。
  • AutoMapper 是一个很好的工具,当您已经拥有要映射的对象时。
  • 如果你使用 NHibernate,你已经有了你的对象,对吧?
【解决方案2】:

Visual Nhibernate 可以从您的数据库模式生成域对象。然后,您可以修改这些对象并最终得到您需要的 DTO。一旦您拥有这两种对象类型,您就可以按照 Mitch 的建议,使用 EmitMapper 或 AutoMapper 等工具自动将域对象映射到 DTOS。

【讨论】:

    【解决方案3】:

    在观看 http://summerofnhibernate.com/ 的其中一个会话时发现了我正在寻找的内容,特别是会话 08:数据库驱动建模的有效技术。

    他使用的工具叫做MyGeneration,它通过查看数据库表来构建DTO。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-21
      • 2017-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-14
      • 2014-08-01
      相关资源
      最近更新 更多