Nous venons de commencer à utiliser LINQ to SQL au travail pour notre DAL & nous n'avons pas vraiment trouvé de standard pour le modèle de mise en cache. Auparavant, nous utilisions une classe de base 'DAL' qui implémentait une propriété de gestionnaire de cache dont toutes nos classes DAL héritaient, mais maintenant nous ne l'avons pas. Je me demande si quelqu'un a trouvé une approche «standard» pour mettre en cache les résultats LINQ to SQL?Comment implémenter la mise en cache dans Linq to SQL?
Nous travaillons dans un environnement Web (IIS) si cela fait une différence. Je sais que cela pourrait bien finir par être une question de subjective, mais je pense toujours que l'information serait précieuse. Pour clarifier, je ne parle pas de mise en cache d'un résultat individuel, je suis après plus d'une solution d'architecture, comme dans la façon dont vous configurez la mise en cache de sorte que toutes vos méthodes de lien utilisent la même mise en cache architecture.
Notez que cette approche n'a pas vraiment beaucoup à faire avec LINQ ou LINQ to SQL. Les API basées sur le référentiel ne peuvent pas être composées avec d'autres requêtes LINQ. –
Vous devez désactiver le suivi des objets lorsque vous utilisez le modèle de référentiel. Dans le cas contraire, cela se produira à la discrétion du Repository: 'repository.Get (1) .ReferencedTable.Id' ... puisque" .ReferencedTable "sera difficile pour la liste mise en cache de rechercher sans contexte. – bzlm