使用ObservableCollection进行LINQing

use*_*042 2 c# linq

我是使用LINQ的新手.我正试图在Silverlight中使用它,因为我正在尝试进行DISTINCT查询.我的Silverlight应用程序ping一个WCF服务,该服务返回一个自定义类型的ObservableCollection.我试图基于我的自定义类型的几个属性到达DISTINCT记录集.我知道第一步是获取我的记录集,所以我正在尝试以下方法

var filteredItems = (from entity in e.Result
                    select new FilteredItem
                    {
                      Property1 = entity.Property1,
                      Property2 = entity.Property2,
                      Property3 = entity.Property3
                    }).Distinct();
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用.Intellisense给出了一个错误,上面写着" 无法找到源类型MyServiceProxy.MyCustomType的查询模式的实现.选择未找到... "如何使用带有LINQ的ObservableCollection,或者像我正在显示的那样获取这个不同的集合?

谢谢!

R. *_*des 7

ObservableCollection<T>实现IEnumerable<T>,所以如果你这样做,你应该能够这样做using System.Linq.所有标准LINQ运算符都驻留在该命名空间中.如果这不起作用,那么请确保您引用System.Core.dll,因为这是包含相同实现的程序集.

  • 卫生署!我删除了System.LINQ命名空间.把它放回去并且它起作用了.谢谢! (3认同)