2010-10-08 3 views
0

Utilisation d'Entity Framework 4.0 en C#/.NET 4.0.EF4: Comment recharger/actualiser un EntityCollection?

Dans mon modèle Entité, j'ai un objet (MyObject) qui fait partie d'une relation un-à-plusieurs qui produit une propriété de navigation du type EntityCollection<OtherObject>. Extrait du code généré:

public partial class MyObject : EntityObject 
{ 
    /* other code */ 

    public EntityCollection<OtherObject> OtherObjects 
    { 
     get { /* RelationshipManager stuff */ } 
     set { /* RelationshipManager stuff */ } 
    } 

    /* other code */ 
} 

Je charge les données correctement, tout va bien. Ensuite, un autre processus ajoute des lignes à la table OtherObject sous-jacente. Je veux être en mesure de recharger ou d'actualiser ma collection d'entités afin d'accéder à ces nouveaux objets.

Existe-t-il un moyen de le faire? Aucune des tentatives suivantes accomplir la tâche:

Context.Refresh(RefreshMode.StoreWins, myObject); 
Context.Refresh(RefreshMode.StoreWins, myObject.OtherObjects); 

Je voudrais éviter d'avoir à décharger tout le contexte (car cela forcerait une sauvegarde de toutes les informations en cours de modification, ce qui est indésirable), donc est-il façon d'obtenir les données nouvellement ajoutées dans mon modèle d'entité locale?

Merci.

Répondre

2
myObject.OtherObjects.Clear(); 
Context.AcceptAllChanges(); 
myObject.OtherObjects.Load(); 

Clause de non-responsabilité: Non testé.

+0

Merci! J'étais coincé dans le trou de lapin de Refresh, Clear and Load devrait me faire aller dans la bonne direction. – RandomUsername

+0

@RandomUsername: Heureux qui pourrait vous aider. – Kamyar