Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在实体框架中分配枚举类型对象的最佳方法是什么?_C#_Entity Framework_Mapping_Enumeration - Fatal编程技术网

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的问题:

这将允许您使用复杂类型来映射枚举,这是我喜欢的方式

希望这有帮助