2011-04-26 64 views
0

我們有一個Order實體和一個CreditCard實體。流利Nhibernate映射以避免空引用

Order可以有0或1 CreditCards

CreditCard可以有1個或多個Orders

我明白這是一個一對多的關係。但我們預計大部分Orders不會使用CreditCard支付,因此訂單表將充滿空引用。我的理解是,這是一個不好的做法。

是否可以通過其他方式設計數據庫/實體/映射來避免這種情況?

+0

我很好奇,爲什麼有一個有很多空值的表是不好的做法? – 2011-04-26 08:31:32

+0

不是嗎?說實話,我認爲我過度思考這個問題,並浪費我的時間... – 2011-04-26 08:37:51

+0

我並不是說它不是,但我不明白爲什麼。儘管如此,我對自己的數據庫知識還不夠自信,並說它絕對沒問題。 – 2011-04-26 08:43:17

回答

1

我認爲你已經在想這個了。如果是我,我只需要在我的訂單中提供信用卡參考信息,而在我的信用卡實體中,我將擁有一個HasMany訂單。如果你想,你可以在你的訂單中有一個HasCreditCard布爾值,它只是檢查你的訂單中的信用卡對象是否爲空。