Косвенно, как так .
Лично я оставляю хранилище int общедоступным (например, как DbFoo
, где свойство enum равно Foo
) - таким образом я все еще могу писать лямбда-выражения в столбце для выполнения в БД, например:
where row.DbFoo == SomeConstant
Если вы не выставите значение хранилища, вы не сможете сделать это так чисто. Вы также можете оставить его внутренним и иметь несколько методов в контексте для фильтрации ... вот тот, который я написал ранее сегодня:
public IOrderedQueryable<User> Administrators
{
get { return Users.Where(x => x.DbUserType == User.UserTypeAdmin)
.OrderBy(x => x.Name);
}
где User.UserTypeAdmin
- моя внутренняя постоянная. В этом случае я не мог использовать дискриминируемый подкласс, поскольку он мешал ADO.NET Data Services.