我正在针对已发布存储过程以供访问的现有 SQL Server 数据库使用 OrmLite。这些 SP 之一采用 3 个 int 参数,但预计其中一个或另一个将为空。但是,没有一个参数被声明为可选的。
这是我尝试过的代码:
using (IDbConnection scon = myFactory.OpenDbConnection())
{
rowCount = scon.SqlScalar<int>("EXEC myProc @FileID, @FileTypeID, @POID",
new
{
FileID = req.FileId,
FileTypeID = (int?)null,
POID = req.PoId,
});
}
但这会产生 SqlException:必须声明标量变量“@FileTypeID”。检查幕后的 SQLParameterCollection 表明 OrmLite 只生成了两个参数。
是否可以使用 null 参数调用此 SP?