2012-09-24 2 views
1

Je travaille avec EntityFramework et Silverlight, et je fais face à cette situation. Quand j'essaye de charger les données d'un EntitySet, je dois obtenir les données d'un rappel.Comment attendre jusqu'à la fin d'un processus dans EntityFramework?

Maintenant, j'ai besoin d'obtenir les données immédiatement, je veux dire attendre jusqu'à la fin du processus.

Dans le code suivant, la partie que je voudrais attendre le processus est la propriété Objectives. Ou je ne sais pas si je peux convertir la méthode de rappel en IAsyncResult, ou quelque chose comme ça.

public class EntityService : IEntityService 
{ 
    public EntityService() 
    { 
     _entities = new DatabaseDomainContext(); 
    } 

    private DatabaseDomainContext _entities; 
    public DatabaseDomainContext Entities 
    { 
     get { return _entities; } 
     set { _entities = value; } 
    } 

    private EntityList<Objective> _objectives; 
    public ObservableCollection<Objective> Objectives 
    { 
     get 
     { 
      if (_objectives == null) 
      { 
       var loadOp = _entities.Load(_entities.GetObjectivesQuery()/*, Callback, true*/); 
       _objectives = new EntityList<Objective>(_entities.Objectives, loadOp.Entities); 
      } 

      return _objectives; 
     } 
    } 
} 

Répondre

1

Mettre en œuvre INotifyPropertyChanged. Lorsque les résultats reviennent, relancez NotifyPropertyChanged.

Questions connexes