fujiihiroaki / Dapper.outsidesql

Dapper non-public extension for outside sql file
Apache License 2.0
15 stars 1 forks source link

DynamicParametersを使用した際、パラメータがnullの場合にNullReferenceException が発生します。 #3

Closed taknb2nch closed 8 months ago

taknb2nch commented 1 year ago

DynamicParameters を使用して、パラメータにセットする値が null の場合に _CreateParameter を呼び出しているところで、NullReferenceException が発生してしまうようです。

int? param1 = null;

var param = new DynamicParameters();
param.Add("param1", param1);

のように実行した場合、

var p = lookup[name];

で p が null になっているようです。nameは入っているようです。

System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。
   場所 Jiifureit.Dapper.OutsideSql.Utility.DynamicParameterUtil.CreateDynamicParameters(Object param)
   場所 Jiifureit.Dapper.OutsideSql.DapperOutsideSqlExtension.QueryOutsideSql[T](IDbConnection cnn, Stream sqlStream, Encoding encoding, Object param, IDbTransaction transaction, Boolean buffered, Nullable`1 commandTimeout, Nullable`1 commandType)

VisualStudio2019
.NET Framework4.8
で使用させていただいてます。

匿名型を使用することで回避できますので、お時間あるときにでも確認していただければ助かります。

PR出させていただいても良かったのですが、ご本人様の対応のほうが早くて確実かと思いこちらに登録させていただきました。

fujiihiroaki commented 8 months ago

遅くなりましたが、ご指摘いただいたNullReferenceExceptionへの対応をいたしました。 これで本件はクローズといたします。