使用来自linq查询的数据

时间:2010-08-18 08:34:53

标签: c# .net sql-server linq

我有一个非常简单的linq查询,它从两个数据表(orderHeader和OrderDetails)获取数据并将它们连接在一起。我想做的是获取每个订单的订单商品并将其传递给方法进行处理。

以下是查询:

var results = from orderHeader in dtOrderHeader.AsEnumerable()
join orderDetails in dtOrderDetails.AsEnumerable() on 
  orderHeader.Field<int>("order_ref") equals
  orderDetails.Field<int>("order_id")
select new { 
  orderID = orderHeader.Field<int>("order_ref"), 
  orderItem = orderDetails.Field<string>("product_details") 
};

为每个订单迭代结果的最佳方法是什么?

由于

1 个答案:

答案 0 :(得分:1)

此结果集包含多个订单,这需要嵌套的foreach

foreach (var order in results.Select(r => r.orderID).Distinct()) {
   Console.WriteLine("Order: " + order);
   Console.WriteLine("Items:");
   foreach (var product in results.Where(r => r.orderItem == order)) {
      Console.WriteLine(product.orderItem);
   }
}