このコードは私にとって非常にうまく機能します:
if (someStr == null)
da.InsertCommand.Parameters.Add("@SOMESTR", SqlDbType.NVarChar).Value = DBNull.Value;
else
da.InsertCommand.Parameters.Add("@SOMESTR", SqlDbType.NVarChar).Value = someStr;
しかし、私の直感は、それのワンライナーバージョンがあるかもしれないと私に言います。何かのようなもの:
da.InsertCommand.Parameters.Add("@SOMESTR", SqlDbType.NVarChar).Value = someStr==null ? DBNull.Value : someStr ;
DBNull.Value
しかし、上記で投稿したワンライナーは、Stringにキャストされないため、もちろん失敗します。
私が望むワンライナーを達成する方法はありますか?