В самом деле, самый чистый способ сделать это - определить свойство тени, например:
class MyType
{
public MyEnum MyEnum {get; private set;}
private string DBEnum { set { MyEnum = Convert(value);} }
private MyEnum Convert(string val)
{
// TODO: Write me
}
}
// cnn.Query<MyType>("select 'hello' as DBEnum") <-- will set MyEnum
Ответ 2
Из образца кода, который я только что попробовал, он выглядит не так. Вы можете перечислить перечисление в его базовое целочисленное значение, но если вы попытаетесь сопоставить его с его строковым значением, то будет сброшен DataException.
Ответ 3
Другим решением может быть использование новой расширяемости ITypeMap, хотя она все еще остается многословной.