2011-10-26 126 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。