我对 ASP.NET MVC 3 和枚举有一个“小”问题:
我的人物模型:
namespace AcTIV.Models
{
public enum Sex { Male, Female };
public class Person
{
public int PersonID { get; set; }
public string Name { get; set; }
public Sex Sexo { get; set; }
}
}
我的初始化器:
namespace AcTIV.DAL
{
public class AcTIVInitializer : DropCreateDatabaseAlways<AcTIVContext>
{
protected override void Seed(AcTIVContext context)
{
var persons = new List<Person>
{
new Person { Name = "Mary Lee", Sexo = Sex.Female }
};
persons.ForEach(s => context.Persons.Add(s));
context.SaveChanges();
}
}
}
到现在为止还挺好。我的手表显示正确的值。
persons[0].Name = "Mary Lee"
persons[0].Sexo = Female
现在,我的人控制器:
namespace AcTIV.Controllers
{
public class PersonController : Controller
{
private UnitOfWork unitOfWork = new UnitOfWork();
public ViewResult Index()
{
Person person = unitOfWork.PersonRepository.GetByID(1); //Just for test
//return View(unitOfWork.PersonRepository.Get().ToList());
}
}
}
我的手表在这里显示错误的枚举值:
person.Name = "Mary Lee"
person.Sexo = Male
我究竟做错了什么?
- - 解决了 - -
答案在另一个 stackoverflow 帖子 中:如何使用 EF Code First 解释枚举类型