Commande Timeout avec Entity Framework 4.1 le Premier Code
Comment puis-je définir le délai d'expiration de commandes d'un DbContext?
Vous devez vous connecter pour publier un commentaire.
Comment puis-je définir le délai d'expiration de commandes d'un DbContext?
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé cette solution après une autre recherche sur Google. Vous pouvez accéder à la ObjectContext pour un DbContext par coulée
this
à un IObjectContextAdapter.De http://social.msdn.microsoft.com/Forums/en-ZA/adodotnetentityframework/thread/6fe91a64-0208-4ab8-8667-d061af340994:
Database.SetInitializer()
. Que dois-je faire attention?Une meilleure solution pour plus tard versions de l'Entity Framework est d'utiliser le
DbContext.Database.CommandTimeout
de la propriété. Je pense que c'est venu avec EF 6.S'il vous plaît essayer le code suivant avant d'exécuter toute DB de commande. Le Code suivant besoin 3/4 minutes pour s'exécuter. Donc, CommandTimeout situé à 300 (en secondes) avant l'exécution de la commande.
J'ai eu le même problème l'exécution de EntityFramework v4.4 avec CodeFirstStoredProc v2.2. La mise à niveau n'était pas une option pour moi, donc j'ai dû mettre à jour le CodeFirstStoredProcs.cs fichier pour prendre un nouveau nullable int paramètre appelé "commandTimeout" dans les 3 méthodes suivantes, comme indiqué ci-dessous.
Dans la méthode ci-dessous, c'est là une condition pour vérifier le paramètre et d'appliquer la cmd.connectionTimeout valeur.
J'espère que cette aide alors que je cherchais de l'aide, mais ne trouve rien, pas jusqu'à ce que j'ai réalisé que je pouvais le faire sans mettre à jour les versions de CodeFirstStoredProcs qui m'oblige à mettre à jour EntityFramework ainsi.
Si vous utilisez sql server, il suffit d'ajouter ceci à votre chaîne de connexion:
"... Connect Timeout = x" Où x est le timeout en ms.