2011-10-26 95 views
1

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

+0

考虑使用T4。 –

+0

@MichaelMaddox我看着T4,但无法找到如何做到这一点。有没有一个如何使用T4来做我想要做的事情的例子? –

+0

不是一个完美的例子,但你可以在这里得到这个主意:http://stackoverflow.com/questions/2223421/t4-template-to-create-multiple-html-for-example-output-files-per-table-来自/ 3070406#3070406 –

回答

0

找到我在寻找http://summerofnhibernate.com/的会议之一,特别是会议08:数据库驱动建模的有效技术。

他正在使用的工具名为MyGeneration,它通过查看数据库表来构建DTO。

0

查看数据库并创建类型的工具称为ORM(对象关系映射器)。有免费的和商业的可用:实体框架和LLBLGEN时刻关注。

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

AutoMapper是一个对象,对象映射器。对象 - 对象映射的工作原理是 将一种类型的输入对象转换为另一种类型的输出对象。 AutoMapper的有趣之处在于它提供了一些有趣的约定,使得不需要从 中弄清楚如何映射类型A到类型B.只要类型B遵循 AutoMapper建立的约定,映射所需的几乎为零的配置为 两种类型。

+0

我更新了我的问题,使其更加清晰。我已经在使用NHibernate了。我需要生成DTO,而且我不想手动完成。因此,我正在寻找捷径和工具来帮助我。 –

+0

如果已经有对象映射到和来自AutoMapper,它是一个很好的工具。 –

+0

如果你使用NHibernate,你已经有了你的对象,对吧? –

0

Visual Nhibernate可以从您的数据库模式生成域对象。然后,您可以修改这些对象,并以您需要的DTO结束。一旦你有两种对象类型,你可以遵循Mitch的建议,并使用像EmitMapper或AutoMapper这样的工具自动将Domain对象映射到DTOS。