[英]Error calling stored procedure from Entity Framework
我收到以下错误:
过程或函数“ dsp_DeleteAgreementPackage”需要未提供的参数“ @AgreementPackageID”。
这是我的代码:
var param1 = new SqlParameter();
param1.ParameterName = "@AgreementPackageID";
param1.SqlDbType = SqlDbType.Int;
param1.SqlValue = package.Id;
_context.Database.ExecuteSqlCommand("dsp_DeleteAgreementPackage", param1);
我也尝试过将最后一行替换为:
_context.Database.ExecuteSqlCommand("dsp_DeleteAgreementPackage", new object[] { param1 });
两种方式我都遇到相同的错误。 我已验证param1
确实包含整数值和@AgreementPackageID
参数名称。 知道我在做什么错吗?
我认为您没有在提供的SQL命令字符串中包含任何参数(参数是必需的,而不仅仅是使用存储过程的名称)。 尝试将ExecuteSqlCommand
与给定的@AgreementPackageID
参数一起使用,如下所示:
_context.Database.ExecuteSqlCommand("EXEC dsp_DeleteAgreementPackage @AgreementPackageID", param1);
另外,如有必要,您也可以从ParameterName
删除@
符号:
param1.ParameterName = "AgreementPackageID";
类似问题:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.