我创建一个新的应用程序,它需要与遗留代码:(接口。EF ExecuteStoredCommand与返回值参数
存储过程我试图调用使用返回它的结果。我试图执行和消费返回值结果在异常:
InvalidOperationException异常:当执行一个命令,参数必须专门数据库的参数或值
更改存储过程返回VALU另一种方式是不希望的,因为它要么需要更新传统应用程序,要么保持几乎重复的存储过程。
遗留存储过程简介:
DECLARE @MyID INT
INSERT INTO MyTable ...
SELECT @MyID = IDENTITY()
RETURN @MyID
我的实体框架/的DbContext工作,产生上述InvalidOperationException异常。
SqlParameter parm = new SqlParameter() {
ParameterName = "@MyID",
Direction = System.Data.ParameterDirection.ReturnValue
};
DbContext.Database.ExecuteSqlCommand("EXEC dbo.MyProc", parm);
寻找任何和所有的解决方案,不需要存储过程被修改。
这里创建了什么? –