2009-12-11 122 views
9

我與使用一些非常醜陋公約現有的數據庫工作的C#實體。我想使用NHibernate,我想我可以使用Fluent NHibernate的自動映射約定修復所有這些醜陋的數據庫約定。我想避免手寫所有的實體類。 (這是LINQ to SQL和SubSonic吸引人的地方)生成從現有數據庫和功能NHibernate自動映射

是否可以根據我的數據庫模式和Fluent NHibernate中指定的映射生成我的C#實體?你知道NHibernate的設計師嗎?

+2

我想我有一個建議,不是一個答案。當您使用對象關係映射時,意味着您對擁有適當的對象模型感興趣,而不僅僅是數據模型以及插入/更新/刪除記錄的簡單方法。你應該使用OOA/d要解決的問題域,並創建一個問題對象模型和你的情況,你需要一個額外的步驟,以該模型涉及到一個已經存在的數據模型。這就是爲什麼你不會輕易找到一個工具來生成你的課程,因爲它們應該在第一步中被適當地定製。 反正...好運:) – 2009-12-21 12:20:27

回答

0

我還沒有找到任何能夠基於現有數據庫模式生成連貫NHibernate代碼的東西。

這裏有一個類似的問題:

Using MyGeneration with Fluent NHibernate

至於設計師NHibernate的,有ActiveWriter,但這是城堡的ActiveRecord,而不是功能NHibernate。我記得至少看到一個可以作爲NHibernate設計者的其他工具的參考,但目前我找不到它。

+0

LLBLGEN臨V3現在還可以基於現有的數據庫功能NHibernate代碼的能力。 – Matt 2010-06-07 12:23:46

2

LLBLGenPro V3將作爲衆多ORM框架的通用設計器,包括LLBLGen自己的框架,NHibernate,Linq2SQL和Entity Framework。

它還包含用於生成所有上述框架的代碼和映射的模板。

功能NHibernate正在考慮在目前:-)

0

代碼戰士提供了一堆用於從數據庫表創建實體的模板。我用它來生成我的實體&服務&單元測試,然後使用fluentNH自動映射。這使我的項目非常快速地運行起來。該項目需要一些重新分解,但是代碼庫沒有。