2010-10-10 6 views
2

J'ai créé une application Silverlight et j'ai une zone de liste remplie à l'aide d'une domaindatasource. J'ai créé un bouton qui prend l'élément de la liste sélectionnée et met à jour un champ (dans mon cas l'appelle IsDeleted) mon service de domaine ressemble à cesilverlight 4 Élément de mise à jour RIA dans domaindatasource uniquement mises à jour après actualisation

public IQueryable<Employee> GetEmployees(int storeID) 
    { 
     return this.ObjectContext.Employees.Where(e=>(e.StoreID==storeID)&&(e.IsDeleted==false)); 
    } 

Dans mon événement bouton que je fais ce

EmployeeRecord.IsDeleted = true; 
         dsEmployee.SubmitChanges(); 

La base de données a été mise à jour comme prévu jusqu'à ce que l'application soit rechargée ou que je ne vois pas la mise à jour. Quoi d'autre devrais-je faire pour voir la mise à jour tout de suite?

Répondre

3

Vous devez recharger votre contexte de domaine. Appelez ce qui suit:

myDomainDataSource.SubmitChanges((submitArgs) => 
      { 
       if (submitArgs.IsComplete) 
       { 
        myDomainDataSource.Load<MyType>(myDomainDataSource.MyQuery(filterTextBox.Text), System.ServiceModel.DomainServices.Client.LoadBehavior.RefreshCurrent, true); 
        if (myDataSource.CanLoad) 
         myDataSource.Load(); 
       } 
       else if (submitArgs.HasError) 
       { 
        throw submitArgs.Error; 
       } 
      }, null);