有没有办法将生成的实体映射到枚举?
我的意思很简单:
class Person
{
RelationshipStaus RelationshipStatus { get; set; }
}
enum RelationshipStatus : byte
{
Single,
Married,
Divorced
}
数据库中的RelationshipStatus属性是一个简单的字节,我希望在我的项目中它应该是一个枚举。
最佳答案
不幸的是,你不能,至少不能直接。为方便起见,您可以创建一个将值与枚举类型相互转换的访问器:
public int RelationshipStatusInt { get; set; }
public RelationshipStatus RelationshipStatus
{
get { return (RelationshipStatus)RelationshipStatusInt; }
set { RelationshipStatusInt = (int)value; }
}
但是,您将无法在Linq to EF查询中使用该属性,因为它不会被映射到DB列(但是您可以在Linq to Objects查询中使用它)。
here描述了另一种解决方案,但感觉有点尴尬...