【发布时间】:2015-12-15 08:40:52
【问题描述】:
我正在使用 EF6,我需要执行存储过程。它有两个参数:
-
mIIN varchar(12),为输入字符串 -
mXMLOutput varchar(max),是执行结果
当我从 Management Studio 调用它时它工作正常。
但是,当我使用以下代码时:
var iinParameter = new SqlParameter("@mIIN", SqlDbType.VarChar, 12) { Value = "123456123456" };
var outputParameter = new SqlParameter("@mXMLContent", SqlDbType.VarChar, -1) { Direction = ParameterDirection.Output };
_dbContext.Database.ExecuteSqlCommand("GetInfo", iinParameter, outputParameter);
导致错误
过程或函数“GetInfo”需要参数“@mIIN”,但未提供该参数
EF6 包含以下消息:
Started transaction at 15.12.2015 14:27:27 +06:00
GetInfo
-- @mIIN: '123456123456' (Type = AnsiString, IsNullable = false, Size = 12)
-- @mXMLContent: '' (Type = AnsiString, Direction = Output, IsNullable = false, Size = -1)
-- Executing at 15.12.2015 14:27:27 +06:00
-- Failed in 2 ms with error: Procedure or function 'GetInfo' expects parameter '@mIIN', which was not supplied.
什么会导致这个问题?我传这个参数,为什么不接受?
【问题讨论】:
标签: c# sql stored-procedures entity-framework-6