我无法找到一种使用Entity Framework 4.3和其DbContext设置linq查询命令超时的方法。
如何在Entity Framework中增加Command Timeout?
编辑 实际上,我正在寻找增加Command Timeout的方法。 我混淆了两个问题,应该是SQL命令超时而不是连接超时。
谢谢
我无法找到一种使用Entity Framework 4.3和其DbContext设置linq查询命令超时的方法。
如何在Entity Framework中增加Command Timeout?
编辑 实际上,我正在寻找增加Command Timeout的方法。 我混淆了两个问题,应该是SQL命令超时而不是连接超时。
谢谢
如果您正在使用DbContext,那么您首先需要降级到ObjectContext:
((IObjectContextAdapter)context).ObjectContext.CommandTimeout = 180;
我在我的上下文类中添加了命令超时值,以尝试处理填充应用程序的某些存储过程的较长处理时间。看起来已经解决了问题。
public partial class ExampleEntities : DbContext
{
public ExampleEntities()
: base("name=ExampleEntities")
{
((IObjectContextAdapter)this).ObjectContext.CommandTimeout = 180;
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
这个命令已经足够了。
((System.Data.Entity.Infrastructure.IObjectContextAdapter) context).ObjectContext.CommandTimeout
= 180;