LINQ select group

LINQ select group

  1. void Main()
  2. {
  3.  
  4. List<order> orders = new List<order>
  5. {
  6. new Order { OrderID = 1, OrderDate = DateTime.Parse("2023-09-21") },
  7. new Order { OrderID = 2, OrderDate = DateTime.Parse("2023-09-22") },
  8. // 添加更多订单
  9. };
  10.  
  11. List<orderdetail> orderDetails = new List<orderdetail>
  12. {
  13. new OrderDetail { OrderDetailID = 1, OrderID = 1, ProductID = 101, UnitPrice = 10.0m, Quantity = 2 },
  14. new OrderDetail { OrderDetailID = 2, OrderID = 1, ProductID = 102, UnitPrice = 15.0m, Quantity = 3 },
  15. new OrderDetail { OrderDetailID = 3, OrderID = 2, ProductID = 103, UnitPrice = 20.0m, Quantity = 4 },
  16. // 添加更多订单详情
  17. };
  18.  
  19. var query = from order in orders
  20. join orderDetail in orderDetails on order.OrderID equals orderDetail.OrderID into orderGroup
  21. select new
  22. {
  23. Order = order,
  24. OrderDetails = orderGroup.ToList()
  25. };
  26.  
  27. foreach (var result in query)
  28. {
  29. Console.WriteLine($"Order ID: {result.Order.OrderID}, Order Date: {result.Order.OrderDate}");
  30. Console.WriteLine("Order Details:");
  31. foreach (var orderDetail in result.OrderDetails)
  32. {
  33. Console.WriteLine($" - ProductID: {orderDetail.ProductID}, Unit Price: {orderDetail.UnitPrice}, Quantity: {orderDetail.Quantity}");
  34. }
  35. Console.WriteLine();
  36. }
  37. }
  38.  
  39. // Define other methods and classes here
  40. public class Order
  41. {
  42. public int OrderID { get; set; }
  43. public DateTime OrderDate { get; set; }
  44. // 其他订单相关的属性
  45. }
  46.  
  47. public class OrderDetail
  48. {
  49. public int OrderDetailID { get; set; }
  50. public int OrderID { get; set; }
  51. public int ProductID { get; set; }
  52. public decimal UnitPrice { get; set; }
  53. public int Quantity { get; set; }
  54. // 其他订单详情相关的属性
  55. }

執行結果

  1. Order ID: 1, Order Date: 2023/9/21 上午 12:00:00
  2. Order Details:
  3. - ProductID: 101, Unit Price: 10.0, Quantity: 2
  4. - ProductID: 102, Unit Price: 15.0, Quantity: 3
  5.  
  6. Order ID: 2, Order Date: 2023/9/22 上午 12:00:00
  7. Order Details:
  8. - ProductID: 103, Unit Price: 20.0, Quantity: 4

留言

這個網誌中的熱門文章

ORA-12514: TNS: 監聽器目前不知道連線描述區中要求的服務

Oracle 工作排程 DBMS_JOB 筆記

Oracle 例外控制(Exception Control)