如何使用LINQ检索子集合
从这里开始:如何使用LINQ检索子集合,linq,nhibernate,collections,Linq,Nhibernate,Collections,从这里开始: 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 { ge
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找不到实现这一点的方法
var orders = from c in db.Customers
from o in c.Orders
select o;
或
nhibernate在linq是否有效?我不知道。确保您的外键约束已在数据库中从[Order].[CustomerID]到[Customer].[ID]正确设置。我也尝试了此操作,但仍然得到错误:集合不是关联:Orders。确保nhibernate知道Customer和Order之间的关联。我打赌某个地方有一个xml文件需要篡改。我一直在尝试使用nhibernate xml映射文件,但到目前为止没有成功。我将实体用于Customer对象,将集合实体用于Orders。建立关系涉及到不同的方法和事项(键、一对多、外键、复合元素等)。有些方法和事项协同工作,但其他方法和事项不。。。当我弄明白这一点的时候,我会发布一些东西。谢谢你到目前为止的帮助。我确实在数据库中正确设置了外键关联。如果我使用我在第一个问题中写的循环结构,一切正常。
var orders = from c in Customers
select c.Orders;
var orders = from c in db.Customers
from o in c.Orders
select o;
var orders = db.Customers.SelectMany(c => c.Orders);