A quel moment s'effectue la connexion ?
-
mercredi 20 juin 2012 14:35
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.
Toutes les réponses
-
mercredi 20 juin 2012 15:38
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 TOURREAUMVP, Moderator mercredi 20 juin 2012 20:31
- Marqué comme réponse Hachème jeudi 21 juin 2012 06:17
-
jeudi 21 juin 2012 06:21
Bonjour,
Merci pour ta réponse. Je ne connaissais pas cet outil (je débute), et effectivement il y a une seule connexion au moment du "In listePartiel".
Merci encore et bonne journée.
Hachème.

