我有一个基本的存储过程SearchMovies如何在EF核心和Asp.net核心中调用Stored Proc?
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
所以怎么来的第一个2个调用不工作,我跟着https://docs.microsoft.com/en-us/ef/core/querying/raw-sql
谢谢大家。
已更新:
貌似我搞砸了东西。
var categoryIds = new SqlParameter("@CategoryIds", "6");
entities.FromSql("EXECUTE dbo.SearchMovies @CategoryIds", categoryIds)
工作正常。
谢谢大家的帮助。
将第二个查询更改为:entities.FromSql(“EXECUTE dbo.SearchMovies @CategoryIds”,categoryIds);'并试一试。在这种情况下不需要占位符。 –
@Siva Gopal是的,我已经尝试了它的第一个电话=>空的结果 –
'不工作'是什么意思?首先,参数名称是错误的。 SQL Server参数始终有一个“@”前缀。你得到一个错误,没有结果? –