首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Entity Framework触发和忘记存储过程

使用Entity Framework触发和忘记存储过程
EN

Stack Overflow用户
提问于 2011-07-14 22:30:51
回答 1查看 2K关注 0票数 1

我在一个应用程序中使用了实体框架4.1。其中一个需求是在数据库上执行一些存储过程,其中一些存储过程需要相当长的时间。此外,这些存储过程不会返回任何结果,因此我只需要启动它们并忘记它们。

当然,.NET会等待这些操作完成,因此在一段时间后,它会抛出一个异常,即“超时期限已过期”。

我知道我可以通过将CommandTimeout属性设置为更高的值来解决这个问题,但是我正在寻找替代解决方案(如果存在的话)。

是否可以使用实体框架作为Fire-and-Forget执行存储过程?

任何帮助都将不胜感激。

问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-15 14:37:20

存储过程不支持触发和忘记执行。您可以使用普通的ADO.NET并在单独的连接上异步执行查询(使用BeginExecuteNonQuery)。EF不支持异步执行。另一种更复杂的方式是创建SQL Job,单步执行您的存储过程。您不会调用存储过程,而是调用sp_start_job,它在启动作业后立即返回,作业将异步执行,而不会向应用程序返回任何其他结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6694884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档