17

私はダッパーを試しています。列挙型を持つクラスがあり、値はデータベースに文字列として保存されます。

これは、GenericEnumMapper を使用して FluentNHibernate で動作します

Dapperで同じことをすることは可能ですか?

4

3 に答える 3

15

これは現時点では組み込まれていません。ここに提案された解決策があります: http://code.google.com/p/dapper-dot-net/issues/detail?id=24まだ決定していません. 拡張可能な型コンバーターのアイデアが好きです

現状では、これを行う最もクリーンな方法は、シャドウ プロパティを定義することです。

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
于 2011-06-01T02:27:14.850 に答える
2

試したばかりのサンプル コードからは、そうではないようです。列挙型を基になる整数値にマップできますが、文字列値にマップしようとすると、 aDataExceptionがスローされます。

于 2011-05-31T21:38:30.163 に答える
0

別の解決策は、新しいITypeMap拡張性を使用することですが、実装するのはまだ少し冗長です。

https://stackoverflow.com/a/12615036/444917

Dapperを使用してURIフィールドをマップします

于 2012-12-18T19:35:17.550 に答える