今日、小さなサンドボックス/POC プロジェクトとして何かを立ち上げて実行することができましたが、1 つの問題に頭を悩ませているようです...
質問:
スペースを含む SQL 列名にマップするようにダッパーを取得する方法はありますか。
私は結果セットとしてこの効果に何かを持っています。
例えば:
SELECT 001 AS [Col 1],
901 AS [Col 2],
00454345345345435349 AS [Col 3],
03453453453454353458 AS [Col 4]
FROM [Some Schema].[Some Table]
そして、私のクラスは次のようになります
public class ClassA
{
public string Col1 { get; set; }
public string Col2 { get; set; }
///... etc
}
私の実装は現時点ではこのように見えます
public Tuple<IList<TClass>, IList<TClass2>> QueryMultiple<TClass, TClass2>(object parameters)
{
List<TClass> output1;
List<TClass2> output2;
using (var data = this.Connection.QueryMultiple(this.GlobalParameter.RpcProcedureName, parameters, CommandType.StoredProcedure))
{
output1 = data.Read<TClass>().ToList();
output2 = data.Read<TClass2>().ToList();
}
var result = new Tuple<IList<TClass>, IList<TClass2>>(output1, output2);
return result;
}
注: SQL はいかなる方法でも変更できません。
現在、私はdapperコードを試しています.私の唯一の予見可能な解決策は、列の比較を「説得」するコードを追加することですが、これまでのところあまり運がありません.
私は StackOverflow で dapper 拡張機能のようなものがあることを見てきましたが、そうでない場合は、拡張機能を追加せずにこれを実行できることを望んでいます。実装が最も速いものは何でも採用します。