在 EF Code First 中将 DbContext.Database.SqlQuery<TElement>(sql, params)
与存储过程结合使用
使用 DbContext.Database.SqlQuery<TElement>(sql, params)
执行带参数的存储过程可能会遇到困难。
问题:
这种方法与需要参数的存储过程一起使用时,通常会导致错误消息,例如:
<code>"Procedure or function 'mySpName' expects parameter '@param1', which was not supplied."</code>
解决方案:
解决方案涉及以正确的结构提供SqlParameter
对象:
<code class="language-csharp">context.Database.SqlQuery<MyEntityType>( "mySpName @param1, @param2, @param3", new SqlParameter("param1", param1), new SqlParameter("param2", param2), new SqlParameter("param3", param3) );</code>
提供 SqlParameter
实例可确保存储过程接收必要的参数,从而成功执行和数据检索。
以上是如何在 EF Code First 中正确使用带有存储过程参数的 DbContext.Database.SqlQuery?的详细内容。更多信息请关注PHP中文网其他相关文章!