2008-12-09 52 views

回答

10

间接与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数据服务。

+0

我使用相同的方法,它工作得很好。直到EFF默认支持枚举为止...... – hminaya 2009-10-25 20:01:02