33

我找不到使用实体框架 4.3 及其 DbContext 设置 linq 查询的命令超时的方法。如何在实体框架中增加 Commandtimeout?

编辑 我实际上正在寻找命令超时增加。我混淆了这两者,是 sql 命令超时而不是连接。

谢谢

4

3 回答 3

64

如果您使用 DbContext,您首先需要下拉到 ObjectContext:

((IObjectContextAdapter)context).ObjectContext.CommandTimeout = 180;
于 2012-07-31T20:13:27.710 回答
11

我在 Context 类中添加了命令超时值,以尝试为填充我的应用程序的某些存储过程处理更长的处理时间。似乎已经成功了。

public partial class ExampleEntities : DbContext
    {
        public ExampleEntities()
            : base("name=ExampleEntities")
        {
            ((IObjectContextAdapter)this).ObjectContext.CommandTimeout = 180;
        }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            throw new UnintentionalCodeFirstException();
        }
于 2015-01-06T15:02:13.487 回答
9

这个命令就够了。

((System.Data.Entity.Infrastructure.IObjectContextAdapter) context).ObjectContext.CommandTimeout
                = 180;
于 2013-06-30T12:48:37.353 回答