2010-11-06 19 views
0

J'apprenais juste comment utiliser la combinaison LINQ/EDM pour récupérer et mettre à jour une simple application Web user-thread-and-comment dans le cadre de son évaluation.
Lorsque j'active SQL Profiler, je vois rarement une instruction SQL exécutée par mon application.
Je commence vraiment à aimer à quel point ça garde les choses en cache, coz dès que j'ajoute de nouvelles données, il se met à jour automatiquement pendant que je cligne des yeux.Efficacité du cache LINQ/EDM dans une application Web

Mais est-ce quelque chose dont je devrais avoir peur? Ma préoccupation est quand j'utilise ceci pour faire une webapp avec un peu de trafic (quel que soit le nombre de hits qui atteint le par de cette approche).
Devrais-je conserver un seul objet contexte au niveau de l'application, afin que différentes sessions puissent bénéficier des entrées de cache de l'autre?
Ou est-ce que je devrais faire le créer-et-libérer sur chaque soumission de page? Je sais que cela ressemble à une question ouverte, mais je l'ai vraiment comme question: comment l'entité cache ses données lors de l'utilisation de LINQ?

+0

Grattez ce que j'ai dit à propos de "voir rarement une instruction SQL". Je regardais le mauvais profil. Il y a relativement beaucoup d'instructions par requête de commentaires. Pour moi c'est cher. Donc, le reste de ma question s'applique toujours. – BeemerGuy

Répondre

1

Sur la question ObjectContext, vous devez utiliser une durée de vie de cycle de demande par page ou inférieure. Il est conçu pour une unité de travail et non pour la durée de vie de l'application. Recherchez SO pour "ObjectContext lifetime" ou "DataContext lifetime" et vous verrez que c'est une question courante.