linq 我的两行代码可以合并吗?

wi3ka0sx  于 2022-12-06  发布在  其他
关注(0)|答案(2)|浏览(136)

我不知道如何做到这一点,因为我只熟悉的基本形式或Linq。
下面是我的两组代码:
第一个
最后,我希望第一次查询的顺序是分支+帐号。
它们能结合起来吗还是说我所拥有的唯一方法就是这样做?

l0oc07j2

l0oc07j21#

快速而又肮脏的解决方案是将GroupBy链添加到第一个查询的末尾。

var qry = (from x in CustomersChecks.CustomersChecksList
          where x.RoutingNumber == routingnumber &&
          x.BankAccountNumber == bankAccountNumber &&
          x.Branch > 0 &&
          x.AccountNumber > 0
          orderby x.Name
          select x).GroupBy(x => new { x.Branch, x.AccountNumber})
                   .Select(x => x.First())
                   .ToList();

或者,通过将group by合并到exist查询语法中来执行以下操作

var qry = (from x in CustomersChecks.CustomersChecksList
          where x.RoutingNumber == routingnumber &&
          x.BankAccountNumber == bankAccountNumber &&
          x.Branch > 0 &&
          x.AccountNumber > 0
          orderby x.Name
          group x by new { x.Branch, x.AccountNumber} into grp
          select grp.First()).ToList();
fruv7luv

fruv7luv2#

var qry = CustomersChecks.CustomersChecksList.Where(x =>
    x.RoutingNumber == routingnumber &&
    x.BankAccountNumber == bankAccountNumber &&
    x.Branch > 0 &&
    x.AccountNumber > 0).OrderBy(x => x.Name)
    .GroupBy(x => new { x.Branch, x.AccountNumber})
    .Select(x => x.First())
    .ToList();

相关问题