我有一个包含三个参数的存储过程,我一直在尝试使用以下方法返回结果:
context.Database.SqlQuery<myEntityType>("mySpName", param1, param2, param3);
起初我尝试使用 SqlParameter
对象作为参数,但这没有用并抛出一个 SqlException
并显示以下消息:
Procedure or function 'mySpName' expects parameter '@param1', which was not supplied.
所以我的问题是如何将此方法用于需要参数的存储过程?
谢谢。
最佳答案
您应该按以下方式提供 SqlParameter 实例:
context.Database.SqlQuery<myEntityType>(
"mySpName @param1, @param2, @param3",
new SqlParameter("param1", param1),
new SqlParameter("param2", param2),
new SqlParameter("param3", param3)
);
关于c# - 如何将 DbContext.Database.SqlQuery<TElement>(sql, params) 与存储过程一起使用? EF 代码优先 CTP5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4873607/