2

我有一個關於操縱數據庫中的數據的問題。 我的表是這樣的:連接表應該保存什麼樣的數據?

enter image description here

的問題是,我應該保持在Status表中它的名稱屬性設置什麼樣的數據? 我有兩個可能性:

  1. 保持有strings,例如:「正常」,「聘請」,「禁止」,「主持人」等
  2. 保持有ints,對應於Enum類型在我的項目,也包含所有那些'正常','僱傭'等。

是否有任何規則呢?我看到在一個項目中的第二個選項(enum),筆者有理由他的選擇,與事實,這對他來說更容易,解析那些廉政局的託管代碼,只是這一行:

(StatusEnum)statusInt; 

在我的意見是,第一個選項(strings)更專業,因爲數據庫更獨立。但實際上我不知道如何爭論,因爲它只會給我帶來一個問題:我必須解析這兩個字符串,以管理Enum type兩行(Enum.TryParse...)。

有人可以請給我他們的意見嗎?

+0

「客觀意見?」 –

+0

看看這裏:http://stackoverflow.com/questions/336846/database-enums-pros-and-cons。我個人推薦枚舉,因爲你將被保護免受錯別字,它需要更少的磁盤空間。 – user4035

回答

1

如果你使用enum,你不需要一個特殊的表格。您只需在User表中使用狀態整數值並將其映射到EF設計器中直接枚舉。如果您的Status是一個實體,則相關表格是有意義的。這是你可以改變的東西,你可以在運行時添加或刪除?如果是,請將它作爲帶有字符串名稱的表格。如果沒有使其成爲User表中的枚舉字段。

相關問題