2016-12-06 1 views
0

J'utilise Entity Framework 6.0, et voici comment je définir le délai de connexion:entité ConnectionTimeOut ne fonctionne

DbContext cc = new DbContext("Data Source=VLT180;Initial Catalog=VISTAIT;Persist Security Info=True;User ID=XXXXXXXX;Password=XXXXX;Connect Timeout=6"); 

cc.Database.ExecuteSqlCommand("select * from table1"); 

mais cela ne fonctionne pas, quand je débranche mon réseau, le code se bloque au "ExecuteSqlCommand" méthode infiniment. si je reconnecte mon réseau, cela fonctionne correctement comme prévu.

J'utilise le dernier cadre de l'entité: 6.1.3

Y at-il la moindre idée?

+0

Toute opération liée à la base de données est suspendue, il semble que le délai d'attente de connexion à la base de données ne fonctionne pas du tout. – DavidWang2007

Répondre

0

Votre contexte doit ressembler à

public class Context : DbContext 
{ 
    public Context(string connectionString) : base(connectionString) 
    { 
    } 

    public DbSet<Quote> Quote { get; set; } 
} 

Vous pouvez alors exécuter sql brute comme suit

using (var context = new Context()) 
{ 
    var quotes = context.Quote.SqlQuery("SELECT * FROM dbo.Quote").ToList(); 
} 

Vous exécutez sql sur la dbset Citation.