Bonjour,
Je développe une application en WPF, en suivant le patterne MVVM et j'utilise l'Entity Framework sous .net 3.5
Cette application comporte un espèce de MDI sous la forme d'un TabControl où plusieurs fiches client peuvent être ouvertes en même temps par exemple donc plusieurs instance d'un ViewModel.
J'utilise une seule instance de mon Model d'entités afin de faciliter les échanges entre les différents ViewModels. Mes modèles Entity Framework sont
directement utilisés pour le binding (pour leurs propriétés de navigation).
Je me confronte actuellement à un problème qui est le suivant :
Je reprend mon exemple, il y a deux onglet ouverts.
Mon client A est correctement renseigné dans mon interface par l'utilisateur.
Mon client B lui par contre n'est pas renseigné, des contraintes d'intégrités ne sont pas respectées (l'utilisateur n'a pas renseigné la langue du client par exemple dans une combobox)
Si je veux sauvegarder mon client A, je ne peux pas car le client B est invalide et dans le même contexte.
Ma question est la suivante, comment gérer si oui ou non une ou des entités peuvent être sauvegarder. En d'autres termes, comment empêcher qu'une entité non validée soit prises en compte lors de l'appel à la méthode SaveChanges() de mon contexte. Ou le cas échéant, comment sauvegarder une seule entité d'un contexte.
Partager