C# 我的存储过程没有重载方法
我将存储过程编辑为只接受1个输入值。它以前接受2,但我让另一个存储过程执行该任务,因此现在proc_CsStatus()只接受1个参数。但是,我得到了一个错误:C# 我的存储过程没有重载方法,c#,asp.net,linq,stored-procedures,C#,Asp.net,Linq,Stored Procedures,我将存储过程编辑为只接受1个输入值。它以前接受2,但我让另一个存储过程执行该任务,因此现在proc_CsStatus()只接受1个参数。但是,我得到了一个错误: No overload for method 'proc_CsStatus' takes 1 arguments 我想通过删除参数以及与参数相关的任何内容,问题就会得到解决。proc_CsStatus现在只接受一个参数 public static int GetCsStatus() {
No overload for method 'proc_CsStatus' takes 1 arguments
我想通过删除参数以及与参数相关的任何内容,问题就会得到解决。proc_CsStatus现在只接受一个参数
public static int GetCsStatus()
{
using (Entities db = new Entities())
{
int Timeout = int.Parse((from stat in db.Messenger_Settings
where stat.SettingName == "CSTimeout"
select stat.SettingValue).SingleOrDefault().Trim());
System.Data.Objects.ObjectParameter s = new System.Data.Objects.ObjectParameter("status", typeof(int));
int r = db.proc_CsStatus(Timeout,s);
return (int)s.Value;
}
}
致:
刷新您的
edmx
。您创建了存储过程,但它在代码库中没有更改。更新您的代码(edmx
),错误就会消失 创建新过程后,是否刷新了edmx?编辑存储过程后,是否也更新了代码?从技术上讲,这里不是在调用存储过程,而是在C#中对对象调用方法。该方法及其任何调用必须能够编译和运行,然后才能在内部调用数据库上的实际存储过程。如果要向该方法调用添加参数,首先需要更新方法定义以接受该参数。在修改存储过程后,您似乎需要重新生成一些数据访问代码。@Habib我没有尝试刷新我的edmx。我会试试看now@Habib成功了!非常感谢。
public static int GetCsStatus()
{
using (Entities db = new Entities())
{
System.Data.Objects.ObjectParameter s = new System.Data.Objects.ObjectParameter("status", typeof(int));
int r = db.proc_CsStatus(s);
return (int)s.Value;
}
}