我有4张桌子:
在实体查询中,我在获取商店的所有细节时使用了Include。
ObjectContext.Stores.Include("Address").Include("Contacts.Designation");
所以我得到了所有商店的所有联系人和其他对象,如地址。现在我想过滤商店的联系人,但我们的域名服务Linq不允许使用Include进行过滤。它包括所有数据。所以我想使用CollectionViewSource来过滤我的子数据。
在用户界面中,我有一个ListBox用于商店信息,并在该ListBox中 - >我还有一个用于商店联系人的列表框,我希望这些联系人在其加载时过滤一些条件......
我无法弄清楚如何使用MVVM或直接在XAML中执行此操作。但是使用MVVM最好是更好。
有人可以帮我解决这个问题吗?
感谢您的时间和帮助。
答案 0 :(得分:0)
您需要先获取源项目的默认ICollectionView
。
你可以这样做
var collectionView = CollectionViewSource.GetDefaultView(collectionToFilter);
接下来,您创建一个像这样的过滤器委托
collectionView.Filter = delegate(object item){return some boolean expression;};
希望这有帮助