2010-04-11 186 views
1

除了nHibernate之外,還有其他什麼方法可以通過類定義生成數據庫模式嗎?我的課程並不那麼複雜(很少有一對多的關係)。不過,我希望能夠保存我的對象在數據庫中,並在需要時重新創建模式。 我被困在.NET 2.0中。我對這個項目的性能沒有特別的關注,我只是懶惰地創建表並寫入保存/加載代碼,並且用nHibernate xml進行交易。從c#生成數據庫模式類

謝謝

+5

請確保接受問題答案,方法是單擊幫助您解決問題的答案旁邊的複選標記。它給你代表,並使你的問題*更*希望回答。 – 2010-04-11 12:47:48

+0

哇,儘管人們給你正確的答案,你還沒有花時間來標記他們中的任何一個被接受!你認爲你很快就能打破這種趨勢嗎? – slugster 2010-04-11 12:50:19

回答

2

.NET類與關係數據模型不兼容。這就是爲什麼像NHibernate這樣的ORM存在的原因。如果沒有描述將模型轉換爲關係表的映射,則無法創建數據庫模式。你可以看看FluentNhibernate automapping的功能。如果你堅持約定,它可以從.NET類創建數據庫模式。

+0

根據這個http://stackoverflow.com/questions/428151/fluent-nhibernate-api-and-net-2-0 流暢的nhibernate需要.NET 3.5。 – Niran 2010-04-11 13:21:41

+0

@Niran,沒錯,我錯過了這個要求。 – 2010-04-11 13:29:27

+0

這是不正確的。自動映射允許您使用約定來避免創建映射文件,它與模式生成無關。 – 2010-04-11 13:45:20

-2

是的,其他方式。這就是所謂的「編程」 - 你可能聽說過這個。基本上,可以編寫自己的數據庫生成器。在那之前,很久以前,nhibernate就已經具備了這種功能(或者甚至存在)。

坐下,編寫你自己的數據庫生成器。

0

NHibernate可以做到這一點。相關的類SchemaExport和SchemaUpdate位於NHibernate.Tool.hbm2ddl命名空間中。這裏是one example