11
我有一个实体类,它具有一个属性为数据类型为Int的底层数据库列,但实际上我希望此属性是一个枚举。有什么办法指定这个属性返回一个枚举?如何用实体框架中的Enum替换Int属性?
我有一个实体类,它具有一个属性为数据类型为Int的底层数据库列,但实际上我希望此属性是一个枚举。有什么办法指定这个属性返回一个枚举?如何用实体框架中的Enum替换Int属性?
间接与so一样。
就个人而言,我离开存储INT公众(例如为DbFoo
,其中枚举属性是Foo
) - 这样我还可以写反对在数据库执行列lambda表达式,例如:
where row.DbFoo == SomeConstant
如果您不公开存储值,则无法做到这一点。你同样可以把它的内部,并在上下文中的一些方法做过滤......这里有一个我今天早些时候写道:
public IOrderedQueryable<User> Administrators
{
get { return Users.Where(x => x.DbUserType == User.UserTypeAdmin)
.OrderBy(x => x.Name);
}
其中是我的内部常数。在这种情况下,我无法使用区分的子类,因为它正在干扰ADO.NET数据服务。
我使用相同的方法,它工作得很好。直到EFF默认支持枚举为止...... – hminaya 2009-10-25 20:01:02