У меня есть enum, который сопоставляется с возможными значениями поля в поле char (1) в БД.
public enum TestEnum: char
{
Value1 = 'a',
Value2 = 'b',
...
}
LINQ-to-SQL пытается отобразить поля char как значения, которые являются именамиперечисления.Например, для значения «a» LINQ-to-SQL пытается найти значение TestEnum.a
вместо TestEnum.Value1
, что вызывает исключение.Он поддерживает только сопоставление перечислений на основе значений для целочисленных полей.
Можно создать новое свойство, которое обрабатывает преобразование, но не может вести себя хорошо в запросах, поскольку сгенерированное выражение не отображается непосредственно в базовое поле.
Есть ли другой способ заставить LINQ-to-SQL использовать значение enum для сопоставления с char (1)?