Linq子选择 [英] Linq Sub-Select

查看:46
本文介绍了Linq子选择的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在LINQ中编写子选择.

How do I write a sub-select in LINQ.

如果我有一个客户列表和一个订单列表,我希望所有没有订单的客户.

If I have a list of customers and a list of orders I want all the customers that have no orders.

这是我的伪代码尝试:

    var  res = from c in customers 
where c.CustomerID ! in (from o in orders select o.CustomerID) 
select c

推荐答案

怎么样:

var res = from c in customers 
          where !orders.Select(o => o.CustomerID).Contains(c.CustomerID)
          select c;

另一种选择是使用:

var res = from c in customers
          join o in orders 
               on c.CustomerID equals o.customerID 
               into customerOrders
          where customerOrders.Count() == 0
          select c;

您是否正在使用LINQ to SQL或其他方式,顺便说一句?不同的口味可能有不同的最佳"做法

Are you using LINQ to SQL or something else, btw? Different flavours may have different "best" ways of doing it

这篇关于Linq子选择的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆