簡體   English   中英

如何將枚舉值保存到數據庫?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM