我有一個數據對象的數據層對象的「狀態」(讓我們說這就是所謂的「入門」),有一組是這個樣子的潛在狀態:使用枚舉在C#中
1 - Created 2 - File added 3 - Approved 4 - Invalid
這在數據庫中用一個帶有自動編號主鍵的'狀態'表來表示,然後在主表中設置一個'狀態標識'字段,並建立適當的關係。
在我的(自定義)數據層中,我有'Entry'對象,並且當前還聲明瞭一個Enum,其中列出了上面列出的狀態。最後,我宣佈這個Enum的私有實例以及相應的公共屬性。
在我的'Commit()'方法中,我將Enum的實例轉換爲一個整數並將其傳遞給Update存儲過程。
在我的靜態'GetEntry()'方法中,我顯然會從數據庫傳回一個整數。然後,我使用'Enum.Parse()'方法來提取一個對象,該對象是我的Enum的一個實例,它與返回的狀態整數相對應。我把它轉換成我的枚舉類型,並將其分配給本地私有變量。
我的問題很簡單 - 這種方法是否合適,如果不是什麼替代方案,除了存儲原始整數值(我不一定反感),更好。
我的要求是,這一切似乎令人難以置信的混亂對我來說,什麼與所有鑄造和維護同一組值的兩個列表。我接受的好處在於爲數據對象的消費者提供更好的體驗,但即使如此...
謝謝!
「這是在數據庫中用'自動編號主鍵'的'狀態'表格表示的;-) – 2009-03-03 15:00:57
是的,這不起作用,因爲默認情況下枚舉從0開始編號。祝你好運固定的狀態:) – leppie 2009-03-03 15:08:52
我的壞,修正:) – Gavin 2009-03-03 15:10:57