[英]how to call Stored Proc in EF core and Asp.net core?
我有一个基本的存储过程SearchMovies
alter PROCEDURE SearchMovies
@CategoryIds varchar(50) = null AS ...
我从数据层拨打了一些电话:
var categoryIds = new SqlParameter("CategoryIds", "6");
var aaa = entities.FromSql("EXECUTE dbo.SearchMovies @CategoryIds", categoryIds ); => empty values
var bbb= entities.FromSql("EXECUTE dbo.SearchMovies @CategoryIds={0}", categoryIds ); => error: Must declare the scalar variable "@p0".
var ccc= entities.FromSql("EXECUTE dbo.SearchMovies @CategoryIds={0}", "6"); => works
所以前两个调用为什么不起作用,我遵循了https://docs.microsoft.com/zh-cn/ef/core/querying/raw-sql
谢谢大家
更新:
看起来我搞砸了。
var categoryIds = new SqlParameter("@CategoryIds", "6");
entities.FromSql("EXECUTE dbo.SearchMovies @CategoryIds", categoryIds )
工作正常。
谢谢大家的帮助。
参数的名称是@CategoryIds
而不是CategoryIds
因此将第一行更改为:
var categoryIds = new SqlParameter("@CategoryIds", 6);
由于您的过程需要VARCHAR,因此您是否尝试过将值转换为字符串?
var categoryIds = new SqlParameter("CategoryIds", Convert.ToString(6));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.