У меня есть объектная модель, где я проверяю значение фильтра вложенного дочернего свойства, например,
Заказ -> Заказчик
И у Клиента есть свойство, например Name = "Joe Bloggs"
Служба моего домена возвращает IQueryable<Order>
. Мой источник данных домена привязан к этому (и, в свою очередь, моя таблица привязана к источнику данных домена), и у меня есть дескриптор фильтра, установленный примерно так:
<ria:FilterDescriptor Operator="Contains" Value="{Binding Text, ElementName=txtCustomerName}" PropertyPath="Customer.Name" IgnoredValue=""/>
Все это прекрасно работает, за исключением того, что отношения между Заказом и Клиентом являются необязательными, т. Е. У Заказа может не быть Клиента, и поэтому свойство навигации Клиента может быть нулевым. В такой ситуации при выполнении запроса источник данных домена выдает исключение нулевой ссылки - возможно, потому, что он пытается пройти по клиенту и получить значение имени, когда, конечно, клиент равен нулю.
Кто-нибудь придумал хорошее решение этой проблемы?