Si j'ai exécuté plusieurs requêtes et que ObjectContext a été rempli avec des entités, comment puis-je effacer le contexte si je n'ai plus besoin de ces entités? Je sais que je dois disposer du contexte le plus tôt possible, mais dans ce cas ce n'est pas possible. Donc est-il possible de retirer ces objets du contexte?Comment effacer le contexte d'objet
Répondre
Il n'existe aucune méthode pour "effacer" ObjectContext. La seule façon de le faire est de Disposer l'instance actuelle de ObjectContext et de démarrer la nouvelle instance.
Vous pouvez essayer de Détacher chaque entité dans le contexte. Max a raison, mais quand vous voulez faire quelque chose qui prend beaucoup de temps, le contexte stocke beaucoup d'objets et continue de grandir en mémoire, et rend votre application lente.
Appelé par une mémoire de fuite.
J'ai maintenant ce problème avec l'EntityFramework 6, mais je ne sais pas comment "exactement" le réparer.
Toujours que j'ai besoin de faire une requête, je lève le contexte et le fais, mais cette action est différente, j'ai beaucoup de choses à calculer, en boucle, et je garde le contexte jusqu'à la fin. Pour le moment, je suis en train de disposer de ma liste après le flush, mais j'ai toujours une mémoire de fuite dans mon système, et le contexte a certainement ce problème. Toute suggestion "équipe"? Je ne connais pas le cadre de l'entité.
Cela ne semble pas une réponse à la question, il ne résout pas le problème. Mieux vaut l'écrire comme un commentaire – abarisone
J'ai essayé, croyez-moi, mais ma réputation est faible. Pardon ! –
Si vous trouvez que votre Contexte est en croissance et en croissance lorsque vous chargez plus d'entités dedans ... et vous n'avez pas besoin d'enregistrer des changements sur ces entités (peut-être vous les chargez simplement pour lire des valeurs ou les utiliser dans d'autres calculs, mais vous ne les modifiez pas que vous avez besoin de sauvegarder dans la base de données), bien, vous pouvez utiliser la méthode AsNoTracking() sur la requête pour dire à EF de ne pas les suivre, et cela économisera beaucoup de mémoire. Voir ici: https://msdn.microsoft.com/en-us/data/jj556203.aspx – MattSlay
- 1. Puis-je effacer le contexte d'objet géré?
- 2. comment effacer le gridview
- 3. Django: Comment passer le contexte?
- 4. Comment effacer le contenu d'ObjectContext dans Entity Framework 1.0
- 5. Effacer/réinitialiser le fournisseur de ressources
- 6. Comment effacer le tampon de protobuf?
- 7. Comment effacer le contrôle datepicker dans silverlight?
- 8. Comment effacer le contenu dans NSMutableData
- 9. Comment effacer le contenu d'un jTable?
- 10. Comment effacer le terminal dans Ruby?
- 11. Comment "effacer" le débordement: éléments visibles?
- 12. Comment effacer le contenu d'un IFRAME?
- 13. comment effacer le cache ajax dans ie
- 14. Comment effacer TextBlock
- 15. Effacer le contenu de UIScrollView
- 16. Comment effacer NSDate millisecondes
- 17. Python - Enregistrer le contexte
- 18. comment effacer jquery.event.drag
- 19. Comment effacer un ILayer?
- 20. Comment effacer la stringstream?
- 21. effacer le cache du modèle
- 22. Comment rediriger dans Django avec le contexte?
- 23. Comment réinitialiser ou tuer le contexte JVM?
- 24. Comment fonctionne le contexte sur Android?
- 25. Comment obtenir le contexte graphique d'un UIView?
- 26. Comment obtenir le contexte d'un sélecteur jQuery
- 27. Comment effacer le contenu d'un élément sur le bouton radio
- 28. Effacer le tableau de chaînes
- 29. effacer le texte onclick - textfield
- 30. Port d'achèvement d'E/S, Comment libérer le contexte par socket et le contexte d'E/S?
Possible duplicate: http://stackoverflow.com/questions/3774395/how-to-clear-contents-of-objectcontext-in-entity-framework-1-0 – Yakimych