当前位置:  开发笔记 > 编程语言 > 正文

LINQ to DataSet,由多列区分

如何解决《LINQtoDataSet,由多列区分》经验,为你挑选了3个好方法。

只是想检查是否有多种方法可以区分多个列.提前致谢!!!

顺便说一句,我在这里找到了一个很棒的LINQ扩展,但需要一些指导才能将它用于多列



1> Marc Gravell..:

好吧,你可以先做投影:

var qry = db.Customers.Select(cust => new {cust.ID, cust.Name, cust.Region})
                    .Distinct();

或者在查询语法中:

var qry = (from cust in db.Customers
          select new {cust.ID, cust.Name, cust.Region}).Distinct();

那呢?



2> Pradeep..:

您可以使用Groupby,然后选择每个组的Top Most记录,而不是Distinct

LINQ如何在没有匿名类型的情况下由多个字段区分

在objEntity中从o返回

              group o by new
              {
                  o.Field1,
                  o.Field2,
                  o.Field3,
                  o.Field4,
                  o.Field5
              } into grp
              select grp.FirstOrDefault();

这将为您提供EntityObject而不是AnonymousType



3> casperOne..:

通过"多列不同",你真正的意思是一个群体.

当您要求distinct时,这意味着您将获得所有不同的行,或者使用表中的所有列获取组.

如果只想为列的子集获取不同的分组,请在子句中使用group by,指定要分组的列.然后,选择组,因为您只需要每组的一组键.

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有