C# NET使用实体框架显示下拉列表中的数据

C# NET使用实体框架显示下拉列表中的数据,c#,asp.net,entity-framework,C#,Asp.net,Entity Framework,我需要在a.CompanyName中实现distinct,但它不起作用。我需要做什么 try { var listCompany = company.CompanyList(); companyList1.DataSource = listCompany.Select(a => new { a.CompanyName, a.CompanyId }).Distinct(); companyList1.DataTextField = "CompanyName";

我需要在
a.CompanyName
中实现distinct,但它不起作用。我需要做什么

try
{
    var listCompany = company.CompanyList();

    companyList1.DataSource = listCompany.Select(a => new { a.CompanyName, a.CompanyId }).Distinct();
    companyList1.DataTextField = "CompanyName";
    companyList1.DataValueField = "CompanyId";
    companyList1.DataBind();
}
catch (Exception)
{
    throw;
}
你可以用

对序列的元素进行分组

上述查询将按公司名称对结果进行分组,然后选择第一条记录的
CompanyName
CompanyId

companyList1.DataSource = listCompany
             .GroupBy(x => x.CompanyName)
             .Select(a => new 
                   { CompanyName = a.First().CompanyName, CompanyId = a.First().CompanyId });