代码之家  ›  专栏  ›  技术社区  ›  Glinkot

LINQ中的分组-简单问题

  •  2
  • Glinkot  · 技术社区  · 14 年前

    我正在尝试使用下面的查询从名为“域”的字段中获取唯一值的列表。我的下拉列表(drpdomain)不只是给出值本身,而是包含以下格式的值:key=lnau等。我只想看到值本身。我是否遗漏了一些明显的东西?谢谢!

    var domainList = from v in db.Vendors
                             group v by new {v.Domain} into g
                             select g.Key;
    
            drpDomain.DataSource = domainList;
            drpDomain.DataBind();
    
    1 回复  |  直到 14 年前
        1
  •  4
  •   kbrimington    14 年前

    而是考虑一下:

    var domainList = from v in db.Vendors
                     select v.Domain;
    
    drpDomain.DataSource = domainList.Distinct();
    drpDomain.DataBind();
    

    注:

    查询中真正的坏蛋是匿名对象;但是,不同的查询在传达意图方面更有效,甚至可能更有效。也就是说,如果只想修复分组查询的意外结果,请尝试以下操作:

    var domainList = from v in db.Vendors
                     group v by v.Domain into g
                     select g.Key;