我有一个对象模型,我正在检查嵌套子属性的过滤器值,例如
订单 -> 客户
并且客户有一个属性,例如Name = "Joe Bloggs"
我的域服务返回IQueryable<Order>
。我的域数据源绑定到这个(反过来我的 Grid 绑定到域数据源),并且我有一个过滤器描述符设置如下:
<ria:FilterDescriptor Operator="Contains" Value="{Binding Text, ElementName=txtCustomerName}" PropertyPath="Customer.Name" IgnoredValue=""/>
这一切都很好,除了订单和客户之间的关系是可选的,即订单可能没有客户,因此客户导航属性可能为空。在这种情况下,当运行查询时,域数据源会抛出一个空引用异常——大概是因为它试图遍历客户并在客户当然为空时获取名称值。
有没有人想出一个很好的解决这个问题的方法?