1

Я работаю с SL4 & .Net Ria Services. У моего datamodel есть Устройства с свойством 0 .. *, называемым DeviceAndStates, через это <riacontrol/> Я получаю все Устройства и его DevicesAndStates определенного типа.LoadedData накапливает результаты со связанными объектами в Ria Services

<riaControls:DomainDataSource Name="deviceDomainDataSource" QueryName="getDevicesWithOpenStateQuery" .../> 

На стороне клиента два вложенных списка, показывающих Устройства и его устройстваАндгоды.

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

Проблема заключается в том, что на стороне сервера, запрос возвращает все устройства с его DeviceAndStates конкретного типа (только конкретного типа), но на стороне клиента нет. Здесь, в стороне клиента

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 
     { 

     } 
    } 

В e.Entities я получаю все устройства правильные, но, глядя на его DeviceAndState собственности, она содержит все devicesAndStates (от конкретного типа запроса и все предыдущие типа я получил в предыдущие запросы). Таким образом, Listbox DeviceAndState устройства накапливает результат от запроса к следующему.

ответ

0

Вы можете получить вновь загруженные объекты с привязкой через элемент AllEntities от LoadOperation. Используя некоторый LINQ, вы можете отфильтровать это только на объекты, относящиеся к рассматриваемому устройству верхнего уровня.