Как я могу получить скалярный вывод из хранимой процедуры?Когда я выполняю приведенный ниже оператор, он возвращает DBNull.
Мы используем ServiceStack.OrmLite 4.5.8
var le = db.<<SP Name>>(param1, param2)
.TryGetParameterValue("output_id", out object val);
Шаблон OrmLite T4 сгенерировал следующий код:
public static OrmLiteSPStatement SPName(this IDbConnection db, string @Param1 = null, string @Param2 = null, @Output_id = null)
{
var dbCmd = (DbCommand)OrmLiteConfig.ExecFilter.CreateCommand(db).ToDbCommand();
dbCmd.CommandText = "SP NAME";
dbCmd.CommandType = CommandType.StoredProcedure;
dbCmd.Parameters.Add(CreateNewParameter(dbCmd,"Param1",@param1,ParameterDirection.Input,DbType.AnsiString));
dbCmd.Parameters.Add(CreateNewParameter(dbCmd,"Param2",@param2,ParameterDirection.Input,DbType.AnsiString));
dbCmd.Parameters.Add(CreateNewParameter(dbCmd,"Output_id",@output_id,ParameterDirection.InputOutput,DbType.Int32));
dbCmd.Parameters.Add(CreateNewParameter(dbCmd,"__ReturnValue",0,ParameterDirection.ReturnValue,DbType.Int32));
return new OrmLiteSPStatement(db, dbCmd);
}
Спасибо, rudrvij