我有一個 「小」 問題,ASP.NET MVC 3和枚舉:枚舉與對比的UnitOfWork
我的角色模型:
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
我在做什麼錯?
---解決---
答案是另一個計算器後: How is interpreted an enum type with EF Code First
是的,實體框架4.3.1。我認爲你對這個版本的不支持是正確的。我會盡力確認。 – Joao 2012-07-06 20:28:22
感謝您帶我走向正確的方向:http://stackoverflow.com/q/9418958/890645 – Joao 2012-07-06 20:38:42