アクセス用のストアド プロシージャを公開している既存の SQL Server データベースに対して OrmLite を使用しています。これらの SP の 1 つは 3 つの int パラメーターを取りますが、いずれかが null になることを想定しています。ただし、オプションとして宣言されているパラメーターはありません。
私が試したコードは次のとおりです。
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 によって生成されているパラメーターは 2 つだけであることがわかります。
この SP を null パラメータで呼び出すことはできますか?