Meilleur auteur de réponses
A quel moment s'effectue la connexion ?

Question
-
Bonjour,
J'utilise le LINQ to Entity et tout fonctionne parfaitement. Mais je souhaiterais comprendre son fonctionnement. J'ai lu beaucoup de doc mais je n'arrive toujours pas a comprendre le moment exact de la connexion avec la base (SQL Server 2008 R2).
Par exemple :
If listeID IsNot Nothing Then Dim listePartiel = From elt In edm.CLASSEMODs.OfType(Of RSBDD.CLASSE)() For Each element As RSBDD.CLASSE In listePartiel If listeID.Contains(element.ID) Then element.ESTPARTIELLE = True End If Next End If
J'ai lu la doc concernant les "exécutions différées" ... J'ai aussi appris que la connexion était ouverte puis fermée immédiatement.
Donc sur cet exemple, à quel moment se fait la ou les connexions ?
Merci pour vos réponses. Hachème.
Réponses
-
Bonjour,
les requêtes sont executés lorsqu'il y a une projection ( via les méthode ToList() ou ToArray() par exemple... ) ou lorsque vous allez itérer sur les éléments donc dans votre cas lors du foreach ...
Une trace via sql server profiler par exemple permettra facilement de vous en assurer.
Cordialement
- Proposé comme réponse Gilles TOURREAUModerator mercredi 20 juin 2012 20:31
- Marqué comme réponse Clim-Toulouse jeudi 21 juin 2012 06:17
Toutes les réponses
-
Bonjour,
les requêtes sont executés lorsqu'il y a une projection ( via les méthode ToList() ou ToArray() par exemple... ) ou lorsque vous allez itérer sur les éléments donc dans votre cas lors du foreach ...
Une trace via sql server profiler par exemple permettra facilement de vous en assurer.
Cordialement
- Proposé comme réponse Gilles TOURREAUModerator mercredi 20 juin 2012 20:31
- Marqué comme réponse Clim-Toulouse jeudi 21 juin 2012 06:17
-