LINQ-to-SQL in der Regel direkt integer Karten und genaue Zeichenfolge (name) Karten (Anmerkung behandelt : Groß-/Kleinschreibung beachten). Bedeutung: Schreiben Sie Ihre Enum irgendwo, und in dem Designer stellen Sie den Objekttyp als vollqualifizierten Enum Name: Some.Namespace.MyEnum
. Es sollte normalerweise funktionieren.
Für nicht-triviale Abbildungen (zum Beispiel, wenn die Spalte ein varchar mit Groß- und Kleinwerten oder Dinge wie „In Progress“ [den Raum beachten]), werden Sie die Speichereigenschaft als int
/varchar
verlassen müssen (etc) und ordnen Sie es manuell zu. Ich tue dies in der Regel, indem sie es als privat kennzeichnen und es FooStorage
, und das Hinzufügen einer Mapping-Eigenschaft in einer Teilklasse Benennung:
partial class MyType {
public MyEnum Foo {
get {... mapping logic reading from FooStorage...}
set {... mapping logic, updating FooStorage...}
}
}
Das einzige Problem ist, dass LINQ-Abfragen werden nur gegen die Speicher Eigenschaft arbeiten (nicht die maßgeschneidertes Eigentum).
Danke für Ihre Zeit, Sie alle! – BerggreenDK