可以在Distinct属性上枚举过滤实体框架

时间:2013-02-20 02:40:37

标签: c# wpf entity-framework filter

以下语句不返回不同的值,而是返回整个列表:

    public ObservableCollection<MasterPartsList> ParentAssemblyBOM
    {
        get
        {
            var enumerable = this._parentAssemblyBOM
                                    .Where(parent => parent.isAssy == true).Distinct();
            return new ObservableCollection<MasterPartsList>(enumerable) ;

        }

真的,我应该只能告诉该对象是唯一的,因为this._parentAssemblyBOM.partNumber将是distinct属性。我如何使用这种逻辑来产生正确的结果?

提前致谢!

1 个答案:

答案 0 :(得分:2)

尝试按标识符分组(在您的案例中为部件号),然后选择组中的第一个:

 var enumerable = this._parentAssemblyBOM
                                .Where(parent => parent.isAssy == true)
                                .GroupBy(x => x.partNumber)
                                .Select(x => x.FirstOrDefault());