在 getter 属性上使用 LInq 'Select Distinct' [重复]

Posted

技术标签:

【中文标题】在 getter 属性上使用 LInq \'Select Distinct\' [重复]【英文标题】:Use LInq 'Select Distinct' on a getter property [duplicate]在 getter 属性上使用 LInq 'Select Distinct' [重复] 【发布时间】:2014-07-08 19:09:23 【问题描述】:

我有一个对象,Company,它是另一个名为 Load 的对象上的属性

public Class Load

    private Company _Company;
    public Company Company
    
        get
        

            return _Company;

        

        set
        
            SetPropertyValue("Company", ref _Company, value);
        
    

当我看到公司下拉列表时,我需要获得一份不同的公司列表。目前我看到数据库中的重复项。我可以使用 Linq 完成此操作吗?

【问题讨论】:

是的,你可以。向我们展示您如何将数据绑定到下拉列表 msdn.microsoft.com/en-us/library/vstudio/… ? 我正在使用 dev express XAF 【参考方案1】:

是的,您可以通过 Linq 完成。我假设您将 companyID 作为主键。

列表 lstComp = new List(); var companyids = lstComp.Select(x => x.companyID).Distinct();

【讨论】:

来自问题:I need to get a distinct list of companies,而不是 companyids 我正在尝试此操作,但出现错误:无法将类型 List 隐式转换为类型 Company。这是我的代码private Company _Company; public Company Company get var distinctCompanies = _Company.Name.Cast<Company>() .Where(x => x != null) .Select(x => x.Name) .Distinct() .ToList(); return distinctCompanies; 如果 companyid 不是主键,则主键需要替换而不是 id。看起来您的公司名称重复,然后放置公司名称而不是 id

以上是关于在 getter 属性上使用 LInq 'Select Distinct' [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在另一个计算属性上调用 getter 不是测试中的函数

LINQ语句

包含路径表达式必须引用在类型上定义的导航属性(使用 LINQ 选择数据)

需要使用 let 的某些 LINQ 命令

Swift 属性的多个 Getter?

在我的 `Context` 上找不到 `DbSet` 的 Getter 属性