C#executequery null値
-
22-09-2019 - |
質問
コードがあります:
using (OAZISDBDataContext ctx = new OAZISDBDataContext())
{
IEnumerable<DBContactDetail> details = ctx.ExecuteQuery<DBContactDetail>("exec [dbo].[zna_contact] {0}, {1}",
"test", "19601023",
}
ただし、空の値をストアドプロシージャに渡すことができるように、それらを使用しないようにしたいと考えています。
文字列でこれは簡単です。文字列を渡すことができます。ただし、空の日付を渡したい場合は、これは問題です。
私は明らかに試しました:
using (OAZISDBDataContext ctx = new OAZISDBDataContext())
{
IEnumerable<DBContactDetail> details = ctx.ExecuteQuery<DBContactDetail>("exec [dbo].[zna_contact] {0}, {1}",
"test", null,
}
しかし、これは機能しません、エラーを与えます:
System.Exception:queryParameterはsystem.objectのタイプにすることはできません。
いくつかの読書の後、私はexecuteCommandがヌルパラメーターをサポートしていないことを知りましたが、仕様はそうすべきだと主張しています。
誰かがこの問題に遭遇し、回避策を見つけましたか?
本当にありがとう
解決
やってみました:
DBNull.Value
他のヒント
送信してみましたか DBNull.Value
または新しい Nullable<DateTime>()
?
所属していません StackOverflow