0

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

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

        }

真的,我应该只能说该对象是唯一的,因为 this._parentAssemblyBOM.partNumber 将是不同的属性。我如何在这个逻辑中工作以产生正确的结果?

提前致谢!

4

1 回答 1

2

尝试按标识符(在您的情况下是零件号)分组,然后选择组中的第一个:

 var enumerable = this._parentAssemblyBOM
                                .Where(parent => parent.isAssy == true)
                                .GroupBy(x => x.partNumber)
                                .Select(x => x.FirstOrDefault());
于 2013-02-20T02:46:28.583 回答