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上运行存储过程,它在那里工作正常.任何想法可能是错误.我通过从数据库生成代码来构建上下文.
正如@Shoe所建议的,我将对存储过程的调用嵌入到一个try catch块中,该块捕获了异常并显示了确切的错误。
事实证明,我没有传递确切的变量作为输出参数。将结果更改为结果,因为存储过程中定义的变量是结果
var outputParameter = new ObjectParameter("result", typeof(string));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18228 次 |
| 最近记录: |