我正在使用EF Core 7从我的.net应用程序调用存储过程,该应用程序提供了FromSql来执行存储过程。 但是,我正在努力通过命名的参数。 这是我到目前为止尝试的,甚至是几乎相同的示例代码:
using (accountingContext db = new())
{
var TransactionClassId = new SqlParameter("TransactionClassId", 3);
var list = db.MonthlyTotals
.FromSql($"EXECUTE dbo.Reporting_Monthly_Totals @TransactionClassId;", TransactionClassId)
.ToList();
}
上面产生了错误,即 FromSql 不包含接受 s 2 个参数的重载。
有没有使用上面的 FromSql 参数化数据的正确方法?
我相信您的代码中的问题在于为过程创建参数。
代替您的代码:
var TransactionClassId = new SqlParameter("TransactionClassId", 3);
试试这个:
var TransactionClassId = new SqlParameter("@TransactionClassId", 3);
在SqlParameter()
方法中添加"@">符号;