c# - 调用存储过程的 Entity Framework 需要未提供的参数

标签 c# sql sql-server entity-framework stored-procedures

我像这样通过 Entity Framework 调用我的 SP:

NextSuperGroup supergroup = entities.Database.SqlQuery<NextSuperGroup>(
      "super_group @user, @orderbyUnique",
      new SqlParameter("@user", userName),
      new SqlParameter("@orderbyUnique", true)).First();

得到错误

Procedure or function 'super_group' expects parameter '@orderbyUnique', which was not supplied.

正如您在上面看到的,我正在提供它。

存储过程如下:

ALTER PROCEDURE [dbo].[super_group]
     @user nvarchar(30)
    ,@stepLockDelay varchar(10) = '00:00:00'
    ,@orderbyUnique bit
AS

我为什么会收到此错误有什么想法吗?

最佳答案

如果是这种情况,它可能也应该提示 @user 参数,但无论如何 - 尝试提供不带 @ 前缀的参数:

NextSuperGroup supergroup = entities.Database.SqlQuery<NextSuperGroup>(
    "super_group @user, @orderbyUnique",
    new SqlParameter("user", userName),
    new SqlParameter("orderbyUnique", true)
).First();

关于c# - 调用存储过程的 Entity Framework 需要未提供的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22013549/

相关文章:

c# - 在 C# 的字典中存储相似对象的最佳方法是什么?

c# - Windows 服务跟踪调试消息

c# - 具有不同数据提供者的一个 POCO 模型

sql - BigQuery 中的查询命中和自定义维度?

sql - 带有嵌套 SQL 查询的 Postgres View 或如何找到最后一个 INET

java - 结果集结束后

c# - 观察程序应用程序在进程停止、挂起或不响应时重新启动进程

sql - 创建引用尚未创建的 View 的 View

c# - Microsoft.Web.管理: System. UnauthorizedAccessException

sql - 如何一次执行多个存储过程?