2009-07-31 106 views
1

可能重複:
Should I store Enum ID/values in the db or a C# enumeration?
Persisting Enums in database tables存儲枚舉常量數據庫

快速和簡單的問題這可能將成爲討論的飼料:

比方說,我的應用程序有一個枚舉2-3個值,基本上永遠不會改變。

您是否認爲應該在數據庫中將它們表示在自己的表中,然後通過外鍵關係從其他表中引用?還是應該將它們作爲包含枚舉值的簡單整數字段存儲在適當的表中?

請解釋你的答案,也是關於對第三範式設計的堅持主張。

+0

Exact dupe:http://stackoverflow.com/questions/791030/should-i-store-enum-id-values-in-the-db-or-a-c-enumeration – 2009-07-31 09:37:09

回答

1

我所做的是將enum整數值存儲在適當的表列中,但在數據庫中還有一個表格,表示枚舉(匹配與枚舉值匹配的id)。是的,這意味着你需要保持enum和enum表都是最新的,但就像你說他們很少會改變,所以這不是什麼大不了的事情。好處是,您可以在代碼中使用枚舉的實名,然後在查詢數據庫時也可以獲取該枚舉值的名稱。

1

簡單的整數字段(沒有額外的表格)可以完成這項工作。它使一切簡單。

1

將它們存儲爲簡單的整數字段,但也有一個帶整數和說明的枚舉表。這可以根據需要加入或引用。

0

如果這個問題只發生一次,你應該使用整數字段(吻策略),但是如果你有很多枚舉值,你可以有一個樹結構的表來存儲它們。

0

我會將它們作爲簡單的整數字段存儲在適當的表中包含枚舉的值。你可以參考,有一個列出每個枚舉值的查找表及其相應的描述。我的理由是,你不想引入額外的不必要的連接,如果你沒有在表中存儲枚舉值,你必須做。