【问题标题】:distinct values using LINQ [duplicate]使用 LINQ 的不同值 [重复]
【发布时间】:2016-10-23 22:34:56
【问题描述】:

我尝试在 LINQ 中获取不同的值

regiondrop.DataSource = getregion();
regiondrop.DataSourc=DataTextField="Region"
regiondrop.DataSourc==DataTextField="RID"


 private List<tab1> getregion()
        {
            using (T1 tee = new T1())
            {
            var tempList = tee.tbl1.ToList();
            var list = (from ta in tempList
            select new { ta.Region, ta.RID }).Select(x => new tbl1
            {
             Id = x.RID,
             reg=x.Region
             }).ToList();
            return list;
            }

        }

数据库中的数据是这样的

RID Region
1   Canada
2   UK
3  London
4  Paris
5  UK
6  Brazil
7  London

这样的下拉菜单中的数据

Canada
UK
London
Paris
UK
Brazil
London

但我想要这样的数据

Canada
UK
London
Paris
Brazil

有什么办法吗?

【问题讨论】:

  • 您可以将List&lt;T&gt;.Distinct()Region 属性上的自定义比较器一起使用。 (link)

标签: linq select linq-to-sql dropdown


【解决方案1】:

您可以添加GroupBy

var list =  from ta in tempList
            group ta by ta.Region into g
            select g.FirstOrDefault();

【讨论】:

  • 我会忽略这个吗?select new { ta.Region, ta.RID }).Select(x => new tbl1 { Id = x.RID, reg=x.Region }) .ToList()
  • 嗨.. 当我这样尝试时.. private List getregion() { using (TrackDataEntities1 tee = new TrackDataEntities1()) { var tempList = tee.tblRegion_Uni.ToList(); var list = (from ta in tempList group ta by ta.Region into g select new { g.Key });返回列表; } }
  • 这显示了相同的输出。下拉列表中的重复值
  • 您是否绑定了正确的列表?调试列表。
  • 是的,谢谢
猜你喜欢
  • 2011-10-21
  • 2013-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-20
相关资源
最近更新 更多