Jak zastąpić właściwość Int z enum w Entity Framework?

głosy
11

Mam klasy podmiotu, który nieruchomości o leżącej kolumnie db typu danych Int, jednak w rzeczywistości chcę tę nieruchomość być Enum. Czy istnieje jakiś sposób, aby określić, że ta właściwość zwraca Enum?

Utwórz 09/12/2008 o 16:44
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
10

Pośrednio, jak tak .

Osobiście pozostawić int składowania w magazynach państwowych (przykładowo DbFoo, w którym nieruchomość jest enum Foo) - w ten sposób nadal mogę pisać lambdy przed kolumną do realizacji w DB, na przykład:

where row.DbFoo == SomeConstant

Jeśli nie narażać wartość pamięci, nie można tego zrobić tak czysto. Można równie pozostawić wewnętrzny i pewne metody w kontekście zrobić filtrowanie ... oto jeden pisałem wcześniej dzisiaj:

public IOrderedQueryable<User> Administrators
{
    get { return Users.Where(x => x.DbUserType == User.UserTypeAdmin)
             .OrderBy(x => x.Name);
}

gdzie User.UserTypeAdminjest moja wewnętrzna stała. W tym przypadku, nie mogłem użyć dyskryminowanych podklasy, jak to było zakłócanie ADO.NET Data Services.

Odpowiedział 09/12/2008 o 16:46
źródło użytkownik

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