EntityFramework.SqlServer.dll中出现'System.Data.Entity.Core.EntityCommandExecutionException'类型的第一次机会异常

Pra*_*ady 5 entity-framework-6 asp.net-mvc-5

我试图使用实体框架6调用存储过程.我在输出消息上收到错误.

EntityFramework.SqlServer.dll中出现'System.Data.Entity.Core.EntityCommandExecutionException'类型的第一次机会异常

 using (var context = new PartnerPortalEntities2())
 {
    var outputParameter = new ObjectParameter("result", typeof(string));
    var spresults = context.assignRoles_CreateAccountAndContacts(user.Id, role, user.AccountId, user.AccountName, user.ContactId, user.FirstName, user.LastName, outputParameter);
    // Control never comes after the above line
    if(spresults.Equals("1"))
    {
       //Do something
    }
    else
    {
        // Do something
    }

    }
Run Code Online (Sandbox Code Playgroud)

当我进行调试时,控件进入调用存储过程的行,之后我们在输出窗口上得到上述错误并且调试器停止,它永远不会进入if语句.

我已经在SQLserver上运行存储过程,它在那里工作正常.任何想法可能是错误.我通过从数据库生成代码来构建上下文.

Pra*_*ady 2

正如@Shoe所建议的,我将对存储过程的调用嵌入到一个try catch块中,该块捕获了异常并显示了确切的错误。

事实证明,我没有传递确切的变量作为输出参数。将结果更改为结果,因为存储过程中定义的变量是结果

var outputParameter = new ObjectParameter("result", typeof(string));
Run Code Online (Sandbox Code Playgroud)