ASP.NET MVC 4找不到存储过程

时间:2013-11-08 23:17:19

标签: asp.net-mvc entity-framework asp.net-mvc-4 stored-procedures

我正在使用ASP.NET MVC 4.我使用两个数据库,我的数据库和默认数据库进行登录和注册。

一切都非常好,我可以调用我的存储过程,直到我试图建立自己的会员资格。我的意思是我试图自定义websecurity。我真的对这件事一无所知,我现在可能会用错误的话。但是,我在课堂上做了一些改动,这里有一个问题。然后我运行我的应用程序,它现在给了我一个例外,我知道这对我来说很难,所以我为我改变的所有类做了(ctrl + z)。然后我跑了,我得到了这个例外

  

无法找到存储过程'dbo.ApartmentOwnerLogin'。

     

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

     

异常详细信息:System.Data.SqlClient.SqlException:找不到存储过程'dbo.ApartmentOwnerLogin'。

     

来源错误:

     

第395行:新的ObjectParameter(“password”,typeof(string));
  396行:
  第397行:return((IObjectContextAdapter)this).ObjectContext.ExecuteFunction(“ApartmentOwnerLogin”,usernameParameter,passwordParameter,iD);
  第398行:}

我真的颠倒了(撤消)我所做的所有更改

请帮我回去工作。

请帮助我,我几乎完成了所有我必须做的事情,而且在我提交项目之前的这一天,我得到了这个例外

1 个答案:

答案 0 :(得分:1)

A)如果你正在做自己的会员资格,你可能不需要存储过程来登录,只需通过用户名返回用户,然后用代码检查他们的密码。

B)要检查您的SP是否沿着该路线行驶,请执行以下操作:

  1. 检查EDMX中是否存在SP,通过型号浏览器
  2. 执行此操作
  3. 通过SSMS检查数据库服务器上是否存在SP
  4. 检查您是否可以使用适当的参数
  5. 在SSMS上执行SP
  6. 检查您的网站连接到数据库的用户(可能是SQL登录名)是否可以连接到数据库并具有对存储过程的执行权限。
  7. (4实际上可能是1的前传!)

    要检查的顺序应该是2,3,4,1

    2.如果在DB服务器上不存在则失败...创建它 在3.失败确保程序参数和权限是您所期望的并且它的名称正确。 4.失败确保连接字符串中的用户作为DBserver上的登录名存在,作为数据库上的登录名并具有该SP的执行权限。 1.失败1.转到VS中的“从数据库更新模型”,找到sp并将其添加到