首页 > 解决方案 > 实体框架 - 存储过程返回值

问题描述

BEGIN 
SET NOCOUNT ON 

INSERT INTO WSUPPORTTEMP (FIRMRN, FPERSONNAME, SUPPORTTYPEID, FIRMEXPL, USERMAIL, ISENG, REASON ) 
OUTPUT      INSERTED.WRN
VALUES      (@firmrn, @requester, @supportType, @message, @email, @iseng, @reason)
END

我无法使用实体框架 6 返回输出值。

int x = _context.Database.SqlQuery<int>("i_NewSupportTicket @firmrn, @requester, @supportType, @message, @email, @iseng, @reason", sqParams).First();

这些是我已经尝试过的,但我无法返回值。

SqlParameter outParam = new SqlParameter
{
    ParameterName = "@wrn",
    Direction = System.Data.ParameterDirection.Output,
    SqlDbType = System.Data.SqlDbType.NVarChar
};
var y = _context.Database.ExecuteSqlCommand("EXEC @wrn = i_NewSupportTicket @firmrn, @requester, @supportType, @message, @email, @iseng, @reason", sqParams);

我得到了这个例外。

SqlException:将 varchar 值“t”转换为数据类型 int 时转换失败。

我的错在哪里?

标签: c#entity-frameworkstored-procedures

解决方案


推荐阅读