說我的數據庫表中列有像UserType
,SalesType
等我應該將枚舉ID /值存儲在數據庫還是C#枚舉中?
我應該有UserTypeID
,userTypeName
數據庫表或我應該創建一個C#枚舉?
說我的數據庫表中列有像UserType
,SalesType
等我應該將枚舉ID /值存儲在數據庫還是C#枚舉中?
我應該有UserTypeID
,userTypeName
數據庫表或我應該創建一個C#枚舉?
兩者有什麼不對?如果值是用戶定義的或改變的,肯定enum
將不適合。
如果值嚴格不變(如性別),則可以將它們設置爲enums
以便於在應用程序中引用,也可以在DB中將其作爲單獨的表來強制實施外鍵和作爲參考。
如果列表足夠穩定以使用枚舉,那麼我會在代碼中使用枚舉加上數據庫中的表(使其成爲數據一致性的外鍵)。
這取決於。我列出了以下每種方法的一些優點和缺點。一般來說,如果應用程序需要使用值來作出決定,我強烈希望枚舉。正如Mehdrad所提到的,您可以使用這兩種方法,但需要額外的努力來保持列表同步。
的查找表:
枚舉:
在我的項目中,我使用我的應用程序dbscript從數據庫生成C#常量,因此代碼始終匹配db值。
當然,如果代碼根據Type字段的值執行特定的操作,您只需要擁有C#枚舉。
相似問題: http://stackoverflow.com/questions/492096/persisting-data-suited-for-enums/ – 2009-04-26 15:28:03