如何将枚举值保存到数据库?

时间:2011-03-24 01:40:50

标签: c# entity-framework-4 code-first

例如:

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 Code First,我该如何保存这个值?

这适用于Windows窗体,桌面应用程序。

谢谢!

2 个答案:

答案 0 :(得分:7)

你可以retrieve the int value(或你的枚举设置的任何类型)通过简单的演员表并将其保存到数据库中。

要读回来,你会从int转回枚举:

Permission enumValue = (Permission)intValue;

答案 1 :(得分:0)

您需要了解枚举只是一组命名常量。以下是msdn:

的引用
  

enum关键字用于声明枚举,这是一种由称为枚举器列表的命名常量组成的不同类型。每个枚举类型都有一个基础类型,除了char之外,它可以是任何整数类型。枚举元素的默认基础类型是int。默认情况下,第一个枚举数的值为0,每个连续枚举数的值增加1.

因此,要将值存储在数据库中,只需存储基础类型并根据需要进行转换/解析。