Comment mettre à jour TOUS les entités sales du magasin de données et réinitialiser leurs valeurs modifiées à la valeur d'origine du magasin?
La méthode ObjectContext.Refresh exige en tant que paramètre les entités à actualiser.
Comment mettre à jour TOUS les entités sales du magasin de données et réinitialiser leurs valeurs modifiées à la valeur d'origine du magasin?
La méthode ObjectContext.Refresh exige en tant que paramètre les entités à actualiser.
Vous pouvez utiliser ce code:
public void RefreshAll()
{
// Obtenir tous les objets dans le statemanager avec entityKey
// (context.Refresh lancera une exception sinon)
var refreshableObjects = (from entry in context.ObjectStateManager.GetObjectStateEntries(
EntityState.Deleted
| EntityState.Modified
| EntityState.Unchanged)
where entry.EntityKey != null
select entry.Entity);
context.Refresh(RefreshMode.StoreWins, refreshableObjects);
}
J'ai écrit un article sur la façon de RefreshAll() et de rafraîchir le contexte de quelques autres manières:
Nous utilisons ceci:
return Context.ObjectStateManager.GetObjectStateEntries(System.Data.EntityState.Deleted
System.Data.EntityState.Modified).All(ose
=> {
if(ose.Entity != null)
Context.Refresh(RefreshMode.StoreWins, ose.Entity);
return true;
});
Où "Context" est le contexte à rafraîchir. Nous filtrons par état de changement et entités pour éviter les nouvelles entités et relations.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.