Dapper - 動的オブジェクトを操作する方法

c# dapper dynamic

質問

私はDapperを使用してSQLからクエリを実行し、そのような動的クエリを持っています:

var returns = conn.Query(dynamicQuery);

私が結果を見て回ったとき、私が扱っている日付の種類が何であるかを知りたいので、次のことを試してみました:

foreach (var result in results)
{
    MessageBox.Show(result.GetType().ToString());
}

しかし、常にCannot perform runtime binding on a null referenceというエラーMessageBoxで失敗しCannot perform runtime binding on a null reference

代わりにこれを使用すると:

var returns = conn.Query<object>(dynamicQuery);

その後、コマンドは機能しますが、 Dapper.SqlMapper+DapperRowオブジェクトタイプが表示されます。

どのようにdynamic変数の型を見つけることができますか?

受け入れられた回答

動的APIを使用すると、列の形、つまり

foreach(dynamic row in query) {
    int id = row.Id;
    //...
}

しかし、物事があまり明確でない場合IDictionary<string, object>各行はIDictionary<string, object>も実装します。

また、(コメント)あなたが知っている場合、日付型の単一のセルがあります:

var when = conn.Query<DateTime>(...).Single();


ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ