如何在codefirst结构上映射枚举属性?

时间:2013-07-05 07:30:19

标签: .net visual-studio-2012 ef-code-first code-first ef-migrations

如何在codefirst映射中映射枚举属性?

我的枚举:

public enum GenderType : int
{
    Male = 0,
    Female = 1
}

我的模特

public string City { get; set; }
    public string Country { get; set; }
    public string Occupation { get; set; }
    public string WebsiteURL { get; set; }
    public GenderType Gender { get; set; }
    public int gender { get; set; }
    public GenderType Gender
    {

// NOT WORKING:不能隐含转换类型int ....             得到{返回性别; }             设置{gender =(int)value; }         }

我的配置




            Property(model => model.Comment)
                .HasMaxLength(4000)
                .IsUnicode();

            Property(model => model.Culture)
                .IsOptional()
                .HasMaxLength(10);

----- HOW TO WRITE GENDER?

1 个答案:

答案 0 :(得分:1)

EF从版本5(EF Code First 5)开始支持枚举,所以如果你使用它,它应该自动工作,另一方面,如果你使用旧版本,那么你可以使用提到的解决方案 Here 作为解决方法(我使用它并且有效)。该解决方案的主要思想是旧版本的EF忽略它们而没有任何错误,因此您需要使用类型int的另一个属性并映射该属性,然后枚举类型的属性可以简单地成为它的包装器属性。