我有一些代码:
using (OAZISDBDataContext ctx = new OAZISDBDataContext())
{
IEnumerable<DBContactDetail> details = ctx.ExecuteQuery<DBContactDetail>("exec [dbo].[zna_contact] {0}, {1}",
"test", "19601023",
}
但是,我也希望能够将空值传递给存储过程,这样它就不会使用它们。
现在使用字符串这很容易,我只需传递 String.Empty 就可以了。但是,如果我想传递空日期,这是一个问题。
我显然尝试过:
using (OAZISDBDataContext ctx = new OAZISDBDataContext())
{
IEnumerable<DBContactDetail> details = ctx.ExecuteQuery<DBContactDetail>("exec [dbo].[zna_contact] {0}, {1}",
"test", null,
}
但这不起作用,给出错误:
System.Exception:查询参数不能是 System.Object 类型。
经过一番阅读,我发现 ExecuteCommand 不支持空参数,而规范断言它应该。
有没有人遇到过这个问题并找到了解决方法?
谢谢一堆