Простые примеры объединения таблиц 2 и 3 с использованием лямбда-выражения

#linq #linq-to-sql #c#-4.0 #lambda #c#-3.0

#linq #linq-to-sql #c #-4.0 #лямбда #c #-3.0

Вопрос:

Кто-нибудь может показать мне два простых примера объединения таблиц 2 и 3 с использованием LAMBDA EXPRESSION(
например, с использованием таблиц Northwind (Orders,CustomerID,EmployeeID)?

Комментарии:

1. Выбирайте отсюда: msdn.microsoft.com/en-us/vcsharp/aa336746

2. спасибо, но я хочу версию ВЫРАЖЕНИЯ LAMDA

Ответ №1:

Код для объединения таблиц 3 является:

 var list = dc.Orders.
                Join(dc.Order_Details,
                o => o.OrderID, od => od.OrderID,
                (o, od) => new
                {
                    OrderID = o.OrderID,
                    OrderDate = o.OrderDate,
                    ShipName = o.ShipName,
                    Quantity = od.Quantity,
                    UnitPrice = od.UnitPrice,
                    ProductID = od.ProductID
                }).Join(dc.Products,
                        a => a.ProductID, p => p.ProductID,
                        (a, p) => new
                        {
                            OrderID = a.OrderID,
                            OrderDate = a.OrderDate,
                            ShipName = a.ShipName,
                            Quantity = a.Quantity,
                            UnitPrice = a.UnitPrice,
                            ProductName = p.ProductName
                        });
  

Спасибо

Комментарии:

1. Это отличный пример. Спасибо!

Ответ №2:

попробуйте это, чтобы объединить 2 таблицы с помощью лямбда-выражения

 var list = dataModel.Customers                     
.Join( dataModel.Orders, 
      c => c.Id, 
      o => o.CustomerId, 
      (c, o) => new
                 {
                     CustomerId = c.Id, 
                     CustomerFirstName = c.Firstname, 
                    OrderNumber = o.Number
                 });
  

Комментарии:

1. Спасибо, но не могли бы вы рассказать мне, как использовать Select projector в этом коде и что я могу сделать, чтобы объединить таблицу 3? Спасибо

Ответ №3:

 public void Linq102() 
{ 

string[] categories = new string[]{  
    "Beverages",   
    "Condiments",   
    "Vegetables",   
    "Dairy Products",   
    "Seafood" };  

List<Product> products = GetProductList(); 

var q = 
    from c in categories 
    join p in products on c equals p.Category 
    select new { Category = c, p.ProductName }; 

foreach (var v in q) 
{ 
    Console.WriteLine(v.ProductName   ": "   v.Category);  
} 
}