środa, 10 lutego 2016

Entity Framework 6 - Upłynął limit Timeout. Limit upłynął przed ukończeniem operacji lub serwer nie odpowiada. Jak rozwiązać?

Jeśli chcemy zwiększyć limit wykonywania się zapytania nie modyfikujemy ustawień w Connection String, tylko dodajemy w kodzie następujące wpisy:

  1. W przypadku gdy używamy modelu bazy danych (Database First):
  2. var db = new bazaEntities();                
                    db.Database.CommandTimeout = 180;//180 sekund
                    db.Database.ExecuteSqlCommand("SELECT * FROM tabela");
  3. Gdy używamy klasy DbContext:
  4. var ctx = new BazaContext();
    ctx.Database.ExecuteSqlCommand("SELECT * FROM tabela");
    Ewentualnie możemy globalnie ustawić:
     public class BazaContext : DbContext
        {
            public BazaContext()
                : base("bazaEntities")
            {
                this.Database.CommandTimeout = 1 * 60 * 30;//30 minut
            }
        }
    

Brak komentarzy:

Prześlij komentarz