MVC表单到DB通过存储过程问题:存储过程无法执行,因为它未映射到存储的函数

时间:2017-06-16 03:20:47

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

我试图将表单值传递给将值插入SQL Server表的存储过程。但是我收到了错误:

  

function import' appEntities.CreateUser'无法执行,因为它未映射到存储的函数。

点击谷歌后,我收到了这篇帖子Error calling Stored Procedures from EntityFramework,我试图利用它。但是,我没有在我的.edmx文件中找到我的存储过程的实体模型,正如上面提到的SO解决方案所暗示的那样。我的存储过程在我的上下文类中,如下所示:

public virtual int CreateUser(string userLanID, string email)
{
        var userLanIDParameter = userLanID != null ?
            new ObjectParameter("UserLanID", userLanID) :
            new ObjectParameter("UserLanID", typeof(string));

        var emailParameter = email != null ?
            new ObjectParameter("Email", email) :
            new ObjectParameter("Email", typeof(string));
 return((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("CreateUser", userLanIDParameter, emailParameter)
    }

任何有助于将此成功绑定到我的存储过程的帮助将不胜感激。谢谢!

更新

我已经尝试过这个解决方案:http://sanganakauthority.blogspot.nl/2013/07/the-function-import-cannot-be-executed.html但这不起作用。

我删除了重新导入的函数,如下所示:

There is a function and stored procedure populated.

然而,当我这样做时,我收到此错误。通过运行修复它。 从模型生成数据库

但是,在通过运行模型生成数据库修复映射后,我丢失了存储的采购参考,如下所示:

enter image description here

知道我做错了什么或我需要做些什么才能让它发挥作用?