C# C ExecuteQuery空值
我有一些代码:C# C ExecuteQuery空值,c#,stored-procedures,null,executequery,C#,Stored Procedures,Null,Executequery,我有一些代码: using (OAZISDBDataContext ctx = new OAZISDBDataContext()) { IEnumerable<DBContactDetail> details = ctx.ExecuteQuery<DBContactDetail>("exec [dbo].[zna_contact] {0}, {1}",
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或new Nullable