Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
嵌套属性上的Silverlight 4域数据源筛选器描述符_Silverlight_Ria_Domaindatasource - Fatal编程技术网

嵌套属性上的Silverlight 4域数据源筛选器描述符

嵌套属性上的Silverlight 4域数据源筛选器描述符,silverlight,ria,domaindatasource,Silverlight,Ria,Domaindatasource,我有一个对象模型,我在其中检查嵌套子属性的筛选值,例如 订单->客户 并且客户拥有一个属性,例如Name=“Joe Bloggs” 我的域服务返回IQueryable。我的域数据源绑定到此域数据源(反过来,我的网格绑定到域数据源),我的过滤器描述符设置如下: <ria:FilterDescriptor Operator="Contains" Value="{Binding Text, ElementName=txtCustomerName}" PropertyPath="Customer.

我有一个对象模型,我在其中检查嵌套子属性的筛选值,例如

订单->客户

并且客户拥有一个属性,例如
Name=“Joe Bloggs”

我的域服务返回
IQueryable
。我的域数据源绑定到此域数据源(反过来,我的网格绑定到域数据源),我的过滤器描述符设置如下:

<ria:FilterDescriptor Operator="Contains" Value="{Binding Text, ElementName=txtCustomerName}" PropertyPath="Customer.Name" IgnoredValue=""/>

这一切都很好,但订单和客户之间的关系是可选的,即订单可能没有客户,因此客户导航属性可能为空。在这种情况下,当运行查询时,域数据源抛出一个null引用异常——可能是因为它试图遍历客户并在客户为null时获取名称值


有人想出了解决这个问题的好办法吗?

我最终通过使用与DomainDataSource等价的MVVM解决了这个问题,即DomainCollectionView及其关联的类。这样,您就可以更好地控制查询的组合,因此,我让我的查询在对Customer属性求值Name属性之前对Customer属性进行空检查