Linq Distinct()按名称填充带有名称和值的下拉列表

And*_*nda 33 c# distinct linq-to-sql

我正在尝试与制药公司一起填写下拉列表,如Bayer,Medley等.而且,我从DB获得这些名称,这些名称在DB中重复,但具有不同的ID.

我正在尝试使用Linq Distinct(),但我不想使用相等比较器.还有另外一种方法吗?

我的下拉列表必须填写公司的ID和名称.

我正在尝试这样的事情:

var x = _partnerService
           .SelectPartners()
           .Select(c => new {codPartner = c.codPartner, name = c.name})
           .Distinct();
Run Code Online (Sandbox Code Playgroud)

这显示了ddl中的重复公司.

谢谢!

Dan*_*ner 76

以下表达式将仅选择不同的公司并返回其第一个出现的id.

partnerService.SelectPartners().GroupBy(p => p.Name).Select(g => g.First());
Run Code Online (Sandbox Code Playgroud)


Amy*_*y B 17

var distinctCompanies = Companies
  .GroupBy(c => c.CompanyName)
  .Select(g => g.First());
Run Code Online (Sandbox Code Playgroud)