我对实体框架相当新,我想知道将枚举字段分配给对象的最佳方法是什么。
我想写:
myObject.Status = Status.Active;
我要做:
myObject.Status = _context.myObjects.First(x=>x.Status.StatusId == Status.ActiveId);
并定义
public partial class Status
{
public const int ActiveId = 1;
}
或者我可以这样做:
public partial class Status
{
public static Status Active = new Status(1, "Active");
}
以
的形式出现myObject.Status = Status.Active;
或者第三个选项可能只是忘记了将状态映射到实体框架中而只是在域对象上使用Id
myObject.StatusId = Status.Active.Id;
您能告诉我最佳做法是什么,或者您更喜欢自己喜欢什么?
由于
答案 0 :(得分:1)
我在这里回答了关于枚举的问题: How do I map a column to a complex type in EF4 using code first CTP5?
这将允许您使用复杂类型映射枚举,这是我喜欢的方式。
希望这有帮助。