[英]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.