我有一個基本的存儲過程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參數始終有一個「@」前綴。你得到一個錯誤,沒有結果? –