1

ソースとして SqlDataReader があります。カスタムキーを持つ Automapper を使用して Dictionary にマップできますか。

詳細は以下の通り、

  • SqlDataReader ==> dr(oMessage,oError) ==> dr にはこの戻り項目が含まれます
  • Dictionary ==> Dictionary<"Message",d oMessage からの値>
  • Dictionary ==> Dictionary<"Error",dr oError の値>
4

2 に答える 2

0

それは非常に可能です。AutoMapper を使用して AX Business Connector をラップしました。これは Data Reader と非常によく似た動作をします。IQueryableプロバイダーを含む完全な実装はこちらで確認できます。IQueryable を取り除き、ClassMapping、SessionFactory、および Session クラスだけに集中する場合、このコードを変更して辞書をプッシュすることができます。

ただし、このタスクには MicroORM を検討することをお勧めします。

于 2013-11-13T13:05:09.577 に答える
0

AutoMapper は、型から別の表現にマップするために作成されました。特定の DataReader から値を抽出して Dictionary に格納する必要があるため、このシナリオは従来のマッピング シナリオではありません。マッピングに関するものであれば、SqlDataReader インスタンスがアクセスするデータに関係なく、多かれ少なかれ任意の SqlDataReader インスタンスを Dictionary にマップします。
AutoMapper を使用する大きな利点は、マッピング シナリオの 80% に必要なコードの量を削減できることです。これは柔軟なフレームワークであるため、シナリオをサポートするように Mapper を構成できる場合があります。ただし、これを実現するために必要なコードの量は、AutoMapper を使用せずに従来の方法で SqlDataReader 内のデータから辞書への変換を実装する場合に必要な量と少なくとも同じです。さらに、多くの AutoMapper 構成の背後に変換が隠れていないため、従来のアプローチの方が読みやすく理解しやすいでしょう。
したがって、古典的なアプローチを使用することをお勧めします。

于 2013-11-13T12:58:10.677 に答える