以下语句不返回不同的值,而是返回整个列表:
public ObservableCollection<MasterPartsList> ParentAssemblyBOM
{
get
{
var enumerable = this._parentAssemblyBOM
.Where(parent => parent.isAssy == true).Distinct();
return new ObservableCollection<MasterPartsList>(enumerable) ;
}
真的,我应该只能告诉该对象是唯一的,因为this._parentAssemblyBOM.partNumber将是distinct属性。我如何使用这种逻辑来产生正确的结果?
提前致谢!
答案 0 :(得分:2)
尝试按标识符分组(在您的案例中为部件号),然后选择组中的第一个:
var enumerable = this._parentAssemblyBOM
.Where(parent => parent.isAssy == true)
.GroupBy(x => x.partNumber)
.Select(x => x.FirstOrDefault());