Stored procedures 存储过程使用实体框架触发并忘记

Stored procedures 存储过程使用实体框架触发并忘记,stored-procedures,entity-framework-4.1,fire-and-forget,Stored Procedures,Entity Framework 4.1,Fire And Forget,我在应用程序中使用实体框架4.1。其中一个要求是在数据库上执行一些存储过程,其中一些需要花费相当长的时间。此外,这些存储过程不会返回任何结果,因此我只需要启动它们并将其忘掉 当然,.NET将等待这些操作完成,因此在一段时间后,它会抛出一个异常“超时时间已过” 我知道我可以通过将CommandTimeout属性设置为更高的值来解决这个问题,但是我正在寻找替代解决方案(如果存在的话) 是否可以使用实体框架作为Fire-and-Forget来执行存储过程 任何帮助都将不胜感激 关于存储过程不支持启动并

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

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

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

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

任何帮助都将不胜感激


关于

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

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