一尘不染

如何使用DbContext.Database.SqlQuery(SQL,参数)与存储过程?EF代码优先CTP5

c#

我有一个具有三个参数的存储过程,并且我一直在尝试使用以下命令返回结果:

context.Database.SqlQuery<myEntityType>("mySpName", param1, param2, param3);

最初,我尝试使用SqlParameter对象作为参数,但这没有用,并向其SqlException显示以下消息:

过程或函数“ mySpName”需要未提供的参数“ @ param1”。

所以我的问题是,如何将这种方法与需要参数的存储过程一起使用?

谢谢。


阅读 1415

收藏
2020-05-19

共1个答案

一尘不染

您应该通过以下方式提供SqlParameter实例:

context.Database.SqlQuery<myEntityType>(
    "mySpName @param1, @param2, @param3",
    new SqlParameter("param1", param1),
    new SqlParameter("param2", param2),
    new SqlParameter("param3", param3)
);
2020-05-19