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コードファーストで列挙型をどのように解釈するか