LINQ к SQL, как правило, обрабатывать прямые карты целые и точную строку (имя) карты (примечание : деликатный случай). Значение: напишите свой enum где-нибудь, а в дизайнере задайте тип свойства как полное имя перечисления: Some.Namespace.MyEnum
. Это должно работать.
Для нетривиальных отображений (например, где столбец является VARCHAR со значениями в смешанном регистре, или такие вещи, как «In Progress» [обратите внимание на пробел]), вам придется оставить свойство памяти, как int
/varchar
(и т. д.) и сопоставить его вручную. Я обычно делаю это, пометив его как частное и называя его FooStorage
и добавления свойства отображения в частичном классе:
partial class MyType {
public MyEnum Foo {
get {... mapping logic reading from FooStorage...}
set {... mapping logic, updating FooStorage...}
}
}
Единственная проблема заключается в том, что LINQ запросы будут работать только против хранения собственности (не на заказ).
Спасибо за ваше время, все вы! – BerggreenDK