Как заменить свойство Int с Enum в Entity Framework?

голоса
11

У меня есть класс сущностей, который имеет свойство с основной БД столбца типа данных Int, однако в действительности я хочу это свойство быть Enum. Есть ли способ, чтобы определить, что это свойство возвращает Enum?

Задан 09/12/2008 в 16:44
источник пользователем
На других языках...                            


1 ответов

голоса
10

Косвенно, как так .

Лично я оставляю для хранения Int общественности (например , как DbFoo, где свойство перечисление 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.

Ответил 09/12/2008 в 16:46
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more