首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linq Distinct() by name,用于使用名称和值填充下拉列表

Linq Distinct() by name,用于使用名称和值填充下拉列表
EN

Stack Overflow用户
提问于 2009-05-26 19:08:51
回答 7查看 55.9K关注 0票数 33

我正在尝试填充一个下拉列表与制药公司,如拜耳,麦德利等,我正在从数据库中获得这些名称和这些名称在数据库中重复,但具有不同的id。

我尝试使用Linq Distinct(),但我不想使用相等比较器。还有别的办法吗?

我的下拉列表必须填入公司的id和名称。

我正在尝试类似这样的东西:

代码语言:javascript
复制
var x = _partnerService
           .SelectPartners()
           .Select(c => new {codPartner = c.codPartner, name = c.name})
           .Distinct();

这显示了ddl中重复出现的公司。

谢谢!

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-05-26 19:29:12

下面的表达式将只选择不同的公司,并返回第一个匹配项及其id。

代码语言:javascript
复制
partnerService.SelectPartners().GroupBy(p => p.Name).Select(g => g.First());
票数 76
EN

Stack Overflow用户

发布于 2009-05-26 19:24:29

代码语言:javascript
复制
var distinctCompanies = Companies
  .GroupBy(c => c.CompanyName)
  .Select(g => g.First());
票数 16
EN

Stack Overflow用户

发布于 2009-05-26 19:13:17

Distinct作用于整个select。如果在select中包含c.codPartner,并且同一c.name有两个不同的c.codPartner值,那么您将看到具有相同c.name的两行。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/912188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档