【发布时间】:2014-10-24 07:01:32
【问题描述】:
我正在尝试使用实体框架 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
}
}
当我进行调试时,控件转到调用存储过程的行,之后我们在输出窗口上得到上述错误并且调试器停止,它永远不会进入 if 语句。
我已经在 SQLserver 上运行了存储过程,它在那里运行良好。任何想法可能是什么错误。我通过从数据库生成代码来构建上下文。
【问题讨论】:
-
将存储过程放入 try/catch 并查看异常。
-
感谢@Shoe,尝试 catch 帮助我解决了问题所在。我在我的 sp 中传递了一个输出变量
-
如果您已经解决了您的问题,请务必回答您为解决问题所采取的解决方案和相关步骤。
标签: asp.net-mvc-5 entity-framework-6