小编典典

在实体框架中设置数据库超时

all

我的命令一直超时,所以我需要更改默认的命令超时值。

我找到了myDb.Database.Connection.ConnectionTimeout,但它是readonly

如何在 Entity Framework 5 中设置命令超时?


阅读 186

收藏
2022-08-08

共1个答案

小编典典

在您的上下文中尝试此操作:

public class MyDatabase : DbContext
{
    public MyDatabase ()
        : base(ContextHelper.CreateConnection("Connection string"), true)
    {
        ((IObjectContextAdapter)this).ObjectContext.CommandTimeout = 180; // seconds
    }
}

如果要在连接字符串中定义超时,请使用Connection Timeout以下连接字符串中的参数:

<connectionStrings>

<add name="AdventureWorksEntities"
connectionString="metadata=.\AdventureWorks.csdl|.\AdventureWorks.ssdl|.\AdventureWorks.msl;
provider=System.Data.SqlClient;provider connection string='Data Source=localhost;
Initial Catalog=AdventureWorks;Integrated Security=True;Connection Timeout=60;
multipleactiveresultsets=true'" providerName="System.Data.EntityClient" />

</connectionStrings>

来源:如何:定义连接字符串

2022-08-08