C# 在实体框架中分配枚举类型对象的最佳方法是什么?
我对实体框架相当陌生,我想知道将枚举字段分配给对象的最佳方法是什么 我想写:C# 在实体框架中分配枚举类型对象的最佳方法是什么?,c#,entity-framework,mapping,enumeration,C#,Entity Framework,Mapping,Enumeration,我对实体框架相当陌生,我想知道将枚举字段分配给对象的最佳方法是什么 我想写: myObject.Status = Status.Active; 我应该: myObject.Status = _context.myObjects.First(x=>x.Status.StatusId == Status.ActiveId); 定义 public partial class Status { public const int ActiveId = 1; } 或者我可以做一些类似的
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;
你能告诉我什么是最好的做法吗?或者你自己更喜欢什么
谢谢我在这里回答了一个有关enum的问题: 这将允许您使用复杂类型来映射枚举,这是我喜欢的方式 希望这有帮助