LoadedData накапливает результаты со связанными объектами в Ria Services - PullRequest
1 голос
/ 04 февраля 2010

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

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

На стороне клиента два вложенных списка со списком Devices и его DevicesAndStates.

 <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 (определенного типа запроса и все предыдущие типы, полученные в предыдущих запросах). Таким образом, список в DeviceAndState устройства накапливает результат от запроса к следующему.

1 Ответ

0 голосов
/ 11 марта 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...