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