2010-07-10 143 views
0

我一直與功能NHibernate了幾個月,我認爲這是一個非常靈活的工具(即使「工具」是不正確可能長期):)功能NHibernate表列類型映射

我在一個新的項目上工作,我仍然在考慮使用流利的nhibernate解決方案將我的數據庫映射到存儲庫層。問題是,出於某種原因,我真的不明白,數據庫不是'標準'結構。

我的意思是表不被外鍵引用,但我不知道有這樣的情況:

表X:A列類型爲nvarchar 表Y:A列類型爲int

X是包含數據的表格(以代碼的形式),而Y是包含XA描述的表格。

好像這是一個荒謬的情況!但是我不能在db上做任何事情。 所以問題是:我可以映射這些表流利nhibernate,即使列是不同類型的引用它們?提前

回答

3

沒有

THX,具有完全不同的數據類型的外鍵不NHibernate的支持。

現在,考慮到這是一個新的項目,你需要做的是修復數據庫。

0

是的,沒有。您可以映射表但不包含關係。這會給你一個貧血的領域模型和庫方法來檢索相關對象,即訪問GetOrdersForCustomer()方法中的訂單而不是Customer.Orders集合。

另一種可能性是爲這些屬性創建自定義用戶類型,如IntStoredAsString。我只使用自定義類型的屬性,所以我不知道他們作爲外鍵工作得如何。