存储过程输出参数值为空(实体框架)

问题描述 投票:0回答:1

我试图从实体框架调用存储过程,但无法获取输出参数值。它总是返回 null。 这是我的代码

              object[] parameters = {
                    new SqlParameter("@Date", date),
                    new SqlParameter("@outDate", SqlDbType.Date) {Direction= ParameterDirection.Output}
                };
                int defval = context.Database.CommandTimeout.Value;
                context.Database.CommandTimeout = 1800;
                context.Database.ExecuteSqlCommand("dbo.TestDateFormatAndRegion @Date, @outDate", parameters);
                var NoOfSyncOperationsDeleted = parameters[1].ToString();

你能帮忙吗?

谢谢

sql-server entity-framework stored-procedures null
1个回答
0
投票

context.Database.ExecuteSqlCommand
调用中,修改 SQL 命令以使用
EXEC
显式执行存储过程,并将
OUTPUT
添加到
@outDate
参数。

object[] parameters = {
    new SqlParameter("@Date", date),
    new SqlParameter("@outDate", SqlDbType.Date) { Direction = ParameterDirection.Output }
};

int defaultTimeout = context.Database.CommandTimeout.Value;
context.Database.SetCommandTimeout(1800);

context.Database.ExecuteSqlCommand("EXEC dbo.TestDateFormatAndRegion @Date, @outDate OUTPUT", parameters);

var outputParameter = parameters[1].Value;
© www.soinside.com 2019 - 2024. All rights reserved.