LINQを使用して2つのテーブルを結合するサンプルコード
以下はC#でLINQを使用して2つのテーブルを結合するサンプルコードです。この例では、2つのリストを用いて擬似的にデータベースのテーブルを表現しています。まず、以下のようなクラスを定義します:```csharppublic class Customer{ public int CustomerId { get; set; } public string Name { get; set; }}public class Order{ public int OrderId { get; set; } public int CustomerId { get; set; } public string Product { get; set; }}```次に、以下のコードでLINQを使用して2つのテーブル(リスト)を結合します:```csharpusing System;using System.Collections.Generic;using System.Linq;public class Program{ public static void Main() { // サンプルデータ List<Customer> customers = new List<Customer> { new Customer { CustomerId = 1, Name = "Alice" }, new Customer { CustomerId = 2, Name = "Bob" }, new Customer { CustomerId = 3, Name = "Charlie" } }; List<Order> orders = new List<Order> { new Order { OrderId = 101, CustomerId = 1, Product = "Laptop" }, new Order { OrderId = 102, CustomerId = 2, Product = "Tablet" }, new Order { OrderId = 103, CustomerId = 3, Product = "Smartphone" }, new Order { OrderId = 104, CustomerId = 1, Product = "Monitor" } }; // LINQクエリを使用して結合 var query = from customer in customers join order in orders on customer.CustomerId equals order.CustomerId select new { CustomerName = customer.Name, OrderId = order.OrderId, Product = order.Product }; // 結果を出力 foreach (var item in query) { Console.WriteLine($"Customer: {item.CustomerName}, OrderId: {item.OrderId}, Product: {item.Product}"); } }}```このコードでは、`customers`と`orders`のリストを結合し、結合結果として顧客名、注文ID、および製品名を持つ匿名オブジェクトを生成しています。出力は次のようになります:```Customer: Alice, OrderId: 101, Product: LaptopCustomer: Alice, OrderId: 104, Product: MonitorCustomer: Bob, OrderId: 102, Product: TabletCustomer: Charlie, OrderId: 103, Product: Smartphone```このようにして、LINQを使用して2つのテーブルを結合することができます。