У меня есть хранимая процедура, которая принимает несколько входных параметров и возвращает целое число:
CREATE procedure [dbo].[HB_ValidateLogin_HitAlacarte]
(
@Login nvarchar(50),
@Pwd nvarchar(50),
@Vat int,
@Page nvarchar(50)
)
as
Begin
return -3 --- too many Badlogins
End
Я вызываю эту хранимую процедуру с использованием Entity Framework:
try
{
string sqlQuery = "exec [dbo].[HB_ValidateLogin_HitAlacarte] @Login, @Pwd, @Vat, @Page";
var outParam = new SqlParameter();
outParam.ParameterName = "@return_value";
outParam.SqlDbType = System.Data.SqlDbType.BigInt;
outParam.Direction = System.Data.ParameterDirection.Output;
SqlParameter[] sqlParams = new SqlParameter[]
{
new SqlParameter { ParameterName = "@Login", Value =initRequest.Login, Direction = System.Data.ParameterDirection.Input},
new SqlParameter { ParameterName = "@Pwd", Value =initRequest.Pwd, Direction = System.Data.ParameterDirection.Input },
new SqlParameter { ParameterName = "@Vat", Value =initRequest.VatNumber, Direction = System.Data.ParameterDirection.Input},
new SqlParameter { ParameterName = "@Page", Value =initRequest.Page, Direction = System.Data.ParameterDirection.Input},
outParam
};
using (xmlALaCarteContext)
{
List<List<int>> result = xmlALaCarteContext.Database.SqlQuery<List<int>>(sqlQuery, sqlParams).ToList();
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.WriteLine(ex.StackTrace);
Console.ReadLine();
}
однако при запускекод, я никогда не получаю -3.Мой outParam всегда имеет значение null.Что я делаю неправильно?Я использую EntityFramework версии 6.0.0.0