Dans les couches d'accès aux données qui utilisent les classes LINQ, il est courant de se poser la question de la gestion des contextes de données. Considérons l'extrait de code suivant :
private DataContext myDb; public static MyClass GetMyClassById(int id) { DataContext db = new DataContext(); MyClass result = (from item in db.MyClasss where item.id == id select item).Single(); result.myDb = db; return result; } public void Save() { db.SubmitChanges(); }
Ce modèle soulève des questions sur l'instanciation des contextes de données et sur la nécessité de les supprimer. Pour résoudre ce problème, nous avons consulté Matt Warren de l'équipe LINQ to SQL pour obtenir des conseils.
Selon Warren, la mise en œuvre d'IDisposable sert à plusieurs objectifs :
Warren a souligné que dans la plupart des cas, la suppression des DataContexts n'est pas strictement nécessaire. Cependant, par souci de cohérence et de clarté, il est souvent préférable de supprimer tous les objets implémentant IDisposable.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!