Wie ersetze ich eine Int-Eigenschaft mit einem Enum in Entity Framework?

stimmen
11

Ich habe eine Entität-Klasse, die eine Eigenschaft mit einer darunterliegenden db Spalte von Datentyp Int hat, aber in Wirklichkeit ich diese Eigenschaft will eine Enum sein. Gibt es eine Möglichkeit zu geben, dass diese Eigenschaft eine Enum zurückgibt?

Veröffentlicht am 09/12/2008 um 16:44
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
10

Indirekt wie so .

Persönlich lasse ich den Speicher int public (zum Beispiel als DbFoo, wo die Enum - Eigenschaft ist Foo) - , dass die Art , wie ich noch lambdas gegen die Säule für die Ausführung bei der DB, zum Beispiel schreiben:

where row.DbFoo == SomeConstant

Wenn Sie nicht den Speicherwert aussetzen, können Sie dies so sauber nicht. Man könnte es ebenso interne verlassen, und haben einige Methoden im Rahmen der Filterung zu tun ... hier ist eine ich heute früher schrieb:

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

wo User.UserTypeAdminist meine interne Konstante. In diesem Fall konnte ich nicht diskriminiert Unterklasse verwenden, da es mit ADO.NET Data Service wurde zu stören.

Beantwortet am 09/12/2008 um 16:46
quelle vom benutzer

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