Dapperのパラメータを使用してSQLを呼び出そうとしています。これは、SQLの関連部分は、私が「DynamicMethodの無効なタイプの所有者」を取得しておくDapperとパラメータを使用した非ストアドプロシージャクエリ(CommandType = Text)
" ...
WHERE
Customer = ISNULL(@customerName,Customer)
AND Station = ISNULL(@stationName,Station)
";
あるストアドプロシージャ(私はパラメータで細かい作業をすることを持っている)
inputCustomerName = "Our Customer";
inputStationName = Null;
var parameters = new
{
customerName = inputCustomerName ,
stationName = inputStationName
};
...
using (var dbConn = dataProvider.CreateConnection)
{
dbConn.ConnectionString = connectionString;
dbConn.Open();
returnValue = dbConn.Query<T>(sql: sql, commandType: commandType, param: parameters);
dbConn.Close();
}
ではありません。 (匿名のオブジェクトの代わりにDynamicParametersを使用している場合も同様です)。
SQLはデータベース自体で正常に動作します(@customerNameとstationNameを宣言し@populateすると)。
私は何か非常に単純な間違いをしたと思う - 誰でも私を啓発することができますか?
http://stackoverflow.com/questions/30435185/dapper-throws-invalid-type-owner-for-dynamicmethodはこの支援している(しかし、私はいくつかの理由を想像することができますか)? – Lenny32
投稿前に読んでください、私の状況ではありません。私は思っていません。 - 配列ではなくプロパティとしてプロパティを持つオブジェクトを渡しています。 – kpollock
nullの代わりにinputStationNameの値をDBNull.Valueに設定できますか? – Lenny32