Entity Framework Code First CTP5 的 DbContext.Database.SqlQuery<TElement>(sql, params)
方法允许调用存储过程并将结果作为 TElement
类型对象的列表检索。但是,如果存储过程需要参数,则必须在对 SqlQuery
的调用中指定它们。
当提供 SqlParameter
对象作为参数时,必须在 SQL 查询中包含参数名称,并在其前面加上 @
符号。例如,对于一个需要三个参数的存储过程,您将指定以下查询:
<code class="language-sql">"mySpName @param1, @param2, @param3"</code>
然后,您将创建三个 SqlParameter
对象并将它们传递给 SqlQuery
,如下所示:
<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 CTP5 中将 DbContext.Database.SqlQuery 与存储过程和参数结合使用?的详细内容。更多信息请关注PHP中文网其他相关文章!