1

Je travaille avec SL4 & .Net Ria Services. Mon datamodel a des Devices avec une propriété 0 .. * appelée DeviceAndStates, à travers ce <riacontrol/> je reçois tous les Devices et ses DevicesAndStates d'un type particulier. Dans la partie client, deux zones de liste imbriquées affichent Devices et ses DevicesAndStates.LoadedData accumuler des résultats avec des objets connexes dans Ria Services

<ListBox ItemsSource="{Binding ElementName=deviceDomainDataSource, Path=Data}"> 
     <ListBox x:Name="SubRowListBox" ItemsSource="{Binding DevicesAndStates}"> 
     </ListBox> 
</ListBox 

Le problème est que dans le côté serveur, la requête renvoie tous les appareils avec ses DeviceAndStates du type particulier (uniquement du type particulier), mais dans le côté client ne le font pas. Ici, dans le côté client

private void deviceDomainDataSource_LoadedData(object sender, LoadedDataEventArgs e) 
    { 

     if (e.HasError) 
     { 
      System.Windows.MessageBox.Show(e.Error.ToString(), "Load Error", System.Windows.MessageBoxButton.OK); 
      e.MarkErrorAsHandled(); 
     } 
     else 
     { 

     } 
    } 

Dans e.Entities que je reçois tous les appareils corrects mais regardant sa propriété DeviceAndState, il contient tous les devicesAndStates (du type particulier de la requête et tout le type précédent que j'avais obtenu requêtes précédentes). Ainsi, la zone de liste de DeviceAndState d'un périphérique accumule le résultat d'une requête à la suivante.

Répondre

0

Vous pouvez obtenir les entités référencées nouvellement chargées via le membre AllEntities de LoadOperation. À l'aide de LINQ, vous pouvez filtrer uniquement les entités liées au périphérique de niveau supérieur en question.

Questions connexes