internal class Program { private static void Main(string[] args) { var db = new DataBase { DBName = "mydb"}; // 쿼리식 표현 var v = from ord in db.Orders where ord.Customer_ID == "FRANS" orderby ord.Order_Date ascending select ord; // 메서드식 표현1 var w = db.Orders.Where(order => order.Customer_ID == "FRANS").Select(o => o); // 메서드식 표현2 // 위의 메서드식 표현1의 Select()메서드는 동일데이타를 // 변형없이 리턴하므로 생략가능 var x = db.Orders.Where(order => order.Customer_ID == "FRANS"); x.Select((item, index) => new { IDX = index, ITEM = item }); //기타 확장메서드 x.First(); x.FirstOrDefault(); x.Last(); var l = x.ToList(); l.ForEach(item => Console.WriteLine(item.Customer_ID)); x.Select(item => item.Order_Date).Distinct(); } } class DataBase { public string DBName = string.Empty; public List Orders = new(); } class Order { public string Customer_ID = string.Empty; public DateTime Order_Date; public List Items = new(); }