c# – 实体框架:InvalidOperationException:无效的 *** 作.连接已关闭

c# – 实体框架:InvalidOperationException:无效的 *** 作.连接已关闭,第1张

概述我使用Entity Framework在我的数据库中执行存储过程(Azure SQL Server). 我的C#代码如下所示: using (var context = new MyDataContext()) numberOfEffectedRows = context.MySPName(this.Id); 在大多数情况下(99.9%)执行,这很好.但是,有时它会因此错误而失败: Sys 我使用Entity Framework在我的数据库中执行存储过程(Azure sql Server).

我的C#代码如下所示:

using (var context = new MyDataContext())    numberOfEffectedRows = context.MySPname(this.ID);

在大多数情况下(99.9%)执行,这很好.但是,有时它会因此错误而失败:

system.invalIDOperationException: InvalID operation. The connection is closed.   at System.Data.sqlClIEnt.sqlInternalConnectionTds.ValIDateConnectionForExecute(sqlCommand command)   at System.Data.sqlClIEnt.sqlInternalTransaction.Rollback()   at System.Data.sqlClIEnt.sqlInternalTransaction.dispose(Boolean disposing)   at System.Data.sqlClIEnt.sqlTransaction.dispose(Boolean disposing)   at System.Data.Entity.Infrastructure.Interception.Internaldispatcher`1.dispatch[TTarget,TInterceptionContext](TTarget target,Action`2 operation,TInterceptionContext interceptionContext,Action`3 executing,Action`3 executed)   at System.Data.Entity.Infrastructure.Interception.DbTransactiondispatcher.dispose(DbTransaction transaction,DbInterceptionContext interceptionContext)   at System.Data.Entity.Core.EntityClIEnt.EntityTransaction.dispose(Boolean disposing)   at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func,IDbExecutionStrategy executionStrategy,Boolean startLocalTransaction,Boolean releaseConnectionOnSuccess)   at System.Data.Entity.Core.Objects.ObjectContext.<>c__displayClass4b.<ExecuteFunction>b__49()   at System.Data.Entity.sqlServer.DefaultsqlExecutionStrategy.Execute[TResult](Func`1 operation)   at System.Data.Entity.Core.Objects.ObjectContext.ExecuteFunction(String functionname,ObjectParameter[] parameters)   at ***.MyDataContext.MySPname(Nullable`1 ID) in ***   at ***.DoSomething() in ***

发生这种情况时:

>我不知道为什么会这样.在我看来,这似乎是随机的.
>我不知道我的“MySPname”是否被执行了.

有人知道为什么会这样,以及我怎么知道我的存储过程是否被执行?

解决方法 连接已关闭是由于超时,因此建议您检查连接字符串中的连接超时

connectionString="Data Source=..;Initial Catalog=;Persist Security Info=..;User ID=..;Password=..;Connect Timeout=.."

对于诊断,我建议您运行sql Server Profiler

总结

以上是内存溢出为你收集整理的c# – 实体框架:InvalidOperationException:无效的 *** 作.连接已关闭全部内容,希望文章能够帮你解决c# – 实体框架:InvalidOperationException:无效的 *** 作.连接已关闭所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1231913.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存