J'ai une application .NET 4 WinForms qui utilise ADO.NET Entity Framework. Un code qui fonctionnait parfaitement a décidé d'arrêter de fonctionner et même si j'ai essayé de comprendre ce qui a changé cela pourrait causer cela, je suis perplexe. Ce code me semble parfaitement fonctionnel et fonctionnait comme prévu.ADO.NET Entity Framework SaveChanges ne fonctionne pas
Vous avez des idées? Voici le code:
using (var pe = new ProposalEstimateEntities())
{
var tmc = GetToolingAndMaterialsCost(taskId, Constants.Materials);
if (tmc == null) return;
tmc.Amount = amount;
pe.SaveChanges();
}
La variable tmc est titulaire d'un objet entité ToolingAndMaterialsCost après l'appel de méthode, donc il n'y a pas besoin d'ajouter l'objet au contexte. SaveChanges() devrait enregistrer l'objet avec le nouveau montant, mais ne le fait pas. Aucune exception n'est levée. Le code s'exécute comme s'il était bête et heureux, mais rien ne change dans la base de données et quand je retourne au contrôle qui affiche les données, les anciennes données de pré-édition sont là.
Ceci est très frustrant, toute aide serait grandement appréciée.
Mike
Correct, le contexte utilisé pour charger l'entité est différent de celui utilisé dans l'appel SaveChanges. J'ai ajouté l'objet tmc à ce contexte et cela a fonctionné. – flyfisher1952