2011-06-21 11 views
1

私は、ネストされた子プロパティのフィルタ値をチェックするオブジェクトモデルを持っています。Silverlight 4ネストされたプロパティのドメインデータソースフィルタ記述子

注文 - >カスタマー

、顧客は、例えば性質を持っていますName = "Joe Bloggs"

私のドメインサービスはIQueryable<Order>を返します。私のドメイン・データ・ソースはこれにバインドされている(そして今度は私のグリッドは、ドメインデータソースにバインドされている)、そして私はこのようなものとして設定されたフィルタの記述があります。

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

これはすべての関係を除いて、素晴らしい作品オーダーとカスタマーの間にはオプションがあります。つまり、オーダーには顧客がいない可能性があります。そのため、顧客のナビゲーションプロパティはnullになることがあります。このような状況では、クエリを実行するときにドメインデータソースがnull参照例外をスローします。おそらく、Customerをトラバースしようとしていて、もちろんCustomerがnullの場合にName値を取得しようとしているからです。

誰かがこの問題の良い解決策を思い付いていますか?

答えて

0

これは、DomainDataSourceに相当するMVVM、つまりDomainCollectionViewとその関連クラスを使用して解決しました。これにより、クエリの構成をより詳細に制御できるようになりました。そのため、クエリの前にCustomerプロパティのnullチェックを行い、Nameプロパティを評価しました。

関連する問題