我正在使用 SL4 和 .Net Ria Services。我的数据模型有一个名为 DeviceAndStates 的 0..* 属性的设备,通过它<riacontrol/>
我得到了所有设备和他的特定类型的 DevicesAndStates。
<riaControls:DomainDataSource Name="deviceDomainDataSource" QueryName="getDevicesWithOpenStateQuery" .../>
在客户端,两个嵌套的列表框显示了设备及其 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 的 Listbox 将一个查询的结果累积到下一个。