[英]How can I save an enumeration value to a database?
例如:
namespace PizzaSoftware.Data
{
public class User
{
public string Username { get; set; }
public string Password { get; set; }
public Permission PermissionType { get; set; }
}
public enum Permission
{
Basic,
Administrator
}
}
如果我使用Entity-Framework的CodeFirst,我該如何保存這個值?
這適用於Windows窗體,桌面應用程序。
謝謝!
您可以通過簡單的強制轉換檢索int值 (或枚舉設置的任何類型)並將其保存到DB。
要讀回來,你會從int轉換回枚舉:
Permission enumValue = (Permission)intValue;
您需要了解枚舉只是一組命名常量。 以下是msdn的引用:
enum關鍵字用於聲明枚舉,這是一種由稱為枚舉器列表的命名常量組成的不同類型。 每個枚舉類型都有一個基礎類型,除了char之外,它可以是任何整數類型。 枚舉元素的默認基礎類型是int。 默認情況下,第一個枚舉數的值為0,每個連續枚舉數的值增加1。
因此,要將值存儲在數據庫中,您只需存儲基礎類型並根據需要進行轉換/解析。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.