Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用LINQ检索子集合_Linq_Nhibernate_Collections - Fatal编程技术网

如何使用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);