EFCore 7,通过 FromSql() 将参数传递给存储过程



我正在使用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()方法中添加"@">符号;

最新更新