在LINQ中分组 - 简单的问题

时间:2010-08-16 04:43:41

标签: c# linq

我正在尝试使用下面的查询从名为“domain”的字段中获取唯一值的列表。我的下拉列表(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 个答案:

答案 0 :(得分:4)

考虑一下,改为:

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;