如何在 LINQ 中执行以下 SQL?我实际上正在使用 LINQ 到 NHibernate(但由于我认为嵌入了 lambda 表达式,可能在 NHibernate LINQ 中是不可能的)。但我想知道一般如何在 LINQ 中做到这一点。我以前从未遇到过这种情况。
SELECT c.CustomerID, c.CustomerName --etc
FROM Customers c
INNER JOIN Orders o
ON c.CustomerID = o.CustomerID
WHERE o.Status = 1
public class Customer
{
public int CustomerID { get; set; }
public string CustomerName { get; set; }
public IList<Order> Orders { get; set; }
}
public class Order
{
public int OrderID { get; set; }
public int CustomerID { get; set; }
}
我想做类似的事情:
var customers =
(from c in Customers
where c.Orders.Where(o => o.Status == 1)
select c).ToList();
谢谢你!
最佳答案
where 语句返回一个集合。你想使用 Any() 方法
var customers = from c in Customers
where c.Orders.Any(o => o.Status = 1)
select c
关于linq - 如何使用 LINQ 使用 (.Any()) 过滤子集合的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/810045/