■ join … on … into 키워드 질의 형식을 사용하는 방법을 보여준다. (groupjoin 쿼리)
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
using System; using System.Linq; /// <summary> /// 고객 /// </summary> public class Customer { //////////////////////////////////////////////////////////////////////////////////////////////////// Property ////////////////////////////////////////////////////////////////////////////////////////// Public #region 고객 ID - CustomerID /// <summary> /// 고객 ID /// </summary> public string CustomerID { get; set; } #endregion #region 고객명 - CustomerName /// <summary> /// 고객명 /// </summary> public string CustomerName { get; set; } #endregion } /// <summary> /// 주문 /// </summary> public class Order { //////////////////////////////////////////////////////////////////////////////////////////////////// Property ////////////////////////////////////////////////////////////////////////////////////////// Public #region 고객 ID - CustomerID /// <summary> /// 고객 ID /// </summary> public string CustomerID { get; set; } #endregion #region 주문명 - OrderName /// <summary> /// 주문명 /// </summary> public string OrderName { get; set; } #endregion } ... var customerList = new List<Customer> { new Customer { CustomerID = "P001", CustomerName= "고객1" }, new Customer { CustomerID = "P002", CustomerName= "고객2" }, new Customer { CustomerID = "P003", CustomerName= "고객3" }, new Customer { CustomerID = "P004", CustomerName= "고객4" }, }; var orderList = new List<Order> { new Order { CustomerID = "P001", OrderName = "O001" }, new Order { CustomerID = "P004", OrderName = "O002" }, new Order { CustomerID = "P001", OrderName = "O003" }, new Order { CustomerID = "P001", OrderName = "O004" }, new Order { CustomerID = "P003", OrderName = "O005" }, }; var resultEnumerable = from customer in customerList join order in orderList on customer.CustomerID equals order.CustomerID into customerOrderList select new { CustomerName = customer.CustomerName, CustomerOrderList = customerOrderList }; foreach(var result in resultEnumerable) { Console.WriteLine("고객명 : {0}", result.CustomerName); foreach(var customerOrder in result.CustomerOrderList) { Console.WriteLine(" 주문번호 : {0}", customerOrder.OrderName); } } |