2010-03-23 23 views
1

處理以下情況的最佳方法是什麼?
如何在.NET中處理可選字段的外鍵

對於特定形式的下拉列表(對於主表)是可選的。但是,在數據庫表中,該字段受外鍵限制。如果用戶沒有從下拉列表中選擇,則會由於外鍵而產生問題。

一種解決方案是在主表中創建默認選項並在空白選擇的情況下使用它。但在下拉菜單中,我們需要處理這個以顯示在頂部。 它是完美的解決方案嗎? 有沒有其他優化的解決方案呢?

感謝

+0

所以你的下拉不是真的可選。你的解決方案似乎沒問題,只要讓下拉菜單顯示默認選擇即可。 – tzup 2010-03-23 09:21:35

回答

2

如果在數據庫的要求,那麼它不應該是在前端可選。請更改數據庫或更改前端。單獨使用外鍵約束不應該使其成爲強制性的,您可能希望使該字段爲空。

+0

我們可以在外鍵約束中插入null嗎?數據庫的空插入是否合適? – Brij 2010-03-23 12:33:36

+0

這取決於你的數據結構 - 在這種情況下,null表示這個項目與你的FK無關。有些人不喜歡空,但這真的是你自己。 – Paddy 2010-03-23 12:53:00

+1

如果你真的可以有一個未鏈接的項目,NULL是迄今爲止最好的選擇來存儲它是不鏈接的事實,而不是任何標記值。這是數據庫在返回一個左連接時所做的事情,因此它很好且一致,並且當您需要在您的應用程序中對其進行響應時,數據庫很容易用像COALESCE這樣的函數進行檢測和處理。 – eftpotrm 2010-03-24 12:27:26