开发者

LoadedData accumulate results with related objects in Ria Services

I'm working with SL4 & .Net Ria Services. My datamodel has Devices with a 0..* property called DeviceAndStates, through this <riacontrol/> I get all Devices and his DevicesAndStates of a particular type.

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

In the client side two nested listboxes showing Devices and its DevicesAndStates.

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

The problem is that in the server side, the query returns all Devices with its DeviceAndStates of the particular type (only of the particular type) but in the client side don't. Here in the c开发者_开发技巧lient side

 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
        {

        }
    }

In e.Entities I get all Devices correct but looking at his DeviceAndState property, it contains all the devicesAndStates (of the particular type of the query and all the previous type I had obtained in previous queries). So the Listbox of the DeviceAndState of a Device accumulates result from a query to the next one.


You can get the newly loaded referenced entities through the AllEntities member of the LoadOperation. Using some LINQ you can filter this down to only the entities related to the top-level Device in question.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜