Je suis nouveau avec EntityFramework.Entity framework: Comment utiliser plus d'un contexte?
Mon application a un pool d'instances d'objets de contexte (Chaque contexte a 1 connexion à la base de données). Le problème est que lorsque je mets à jour un objet (et appelle SaveChanges), les données sont mises à jour dans le DB et dans le contexte de mise à jour mais quand je sélectionne d'autres instances, il récupère les anciennes données de l'objet sélectionné.
Exemple:
Imaginons une table appelée TBL.
La table comporte 2 colonnes: id et data.
Il y a 1 ligne: id = 1, data = 2.
EFContext context1 = new EFContext();
EFContext context2 = new EFContext();
var obj1 = context1.tbl.Where(a => a.id == 1);
var obj2 = context2.tbl.Where(a => a.id == 1);
obj2.data = 10;
context2.SaveChanges();
var obj3 = context1.tbl.Where(a => a.id == 1);
Après l'exécution de ces lignes, obj3.data
contient 2, au lieu de 10.
Comment puis-je résoudre ce problème?
Je ne souhaite pas créer une instance de contexte chaque fois que je souhaite accéder à la base de données.
Merci!
Merci. Mais si j'ai beaucoup d'objets à l'intérieur, y a-t-il un moyen de rafraîchir toutes les tables? Existe-t-il un moyen de faire en sorte que l'objet récupère les données de la BD chaque fois que j'essaie de sélectionner des données? Merci encore. – Mattan