我想用State
和Status
這樣的表跟蹤一些使用數據庫的工作。每個Status
表的FK爲State
。有效狀態可能與「轉移」類似,它的狀態可能是「活動」或「已完成」。會有第三個表(可能是StatusEvent
)。我正在使用實體框架6.0映射到數據庫。將數據庫用於狀態的正確方法
我想弄清楚的一件事是如何在我的C#代碼中正確表示這些狀態和狀態。例如,可能有以下幾種狀態:
StateId Name
1 active
2 complete
3 error
在我的代碼中,我想將狀態設置爲'active'。我可以找到與「活動」文本相匹配的StateId,然後使用它。也許讓它更安全ToLower()
什麼的。我也可以保留一個狀態ID列表。類似於const int Active = 1
。但後來我需要確保分貝中沒有真正的變化...
最後,我想能夠調用像SetStateOnStatus(int statusId, State state)
這樣的方法。
我從實體框架中查看了Enum的東西 - 看起來並不實際,因爲狀態描述只是在代碼中,而db只是包含一個int。我需要在另一個表中包含這些描述,以便稍後可以查詢數據庫。也許我在這裏錯過了一些東西?
那麼這樣做的正確方法是什麼?
查詢表是SQL數據庫中相當常見的做法。它們是Enum的數據庫。 –
相關:http://codemeek.blogspot.com/2013/03/lookup-table-design-for-entity.html –
有一件事,我想我錯過了...不是狀態'已經'一個查找表?這是我的數據庫枚舉... – Nicros