从这里开始:
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; }
}
您为了检索所有客户的所有订单而编写的linq查询是什么?
产生效果:
IList<Order> orders = new List<Order>();
foreach (Customer c in Customers)
{
orders.Union(c.Orders);
}
我尝试了以下内容,但它抛出了“nhibernate集合不是关联”异常:
var orders = from c in Customers
select c.Orders;
我知道我错过了一些东西,但我找不到办法在linq中实现这一目标。
答案 0 :(得分:2)
var orders = from c in db.Customers
from o in c.Orders
select o;
或者
var orders = db.Customers.SelectMany(c => c.Orders);
它是否适用于linq for nhibernate?我不知道。
答案 1 :(得分:0)
确保从[订单]。[客户ID]到数据库中的[客户]。[ID]正确设置外键约束。