linq中join用法
linq中join用法一、linq中join方法原型
public static IEnumerable<TResult> Join<TOuter, TInner, TKey, TResult>(
this IEnumerable<TOuter> outer,
IEnumerable<TInner> inner,
Func<TOuter, TKey> outerKeySelector,
Func<TInner, TKey> innerKeySelector,
Func<TOuter, TInner, TResult> resultSelector)
二、先创建linq中join方法的实验用例
class Customer
{
public int CustomerId { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
class Product
{
public int ProductId { get; set; }
public string Name { get; set; }
public string Origin { get; set; }
}
class Order
{
public int OrderId { get; set; }
public int CustomerId { get; set; }
public List<Product> Products { get; set; }
}
static List<Customer> customers;
static List<Product> products;
static List<Order> orders;
public static void CreateEntities()
{
customers = new List<Customer>{
new Customer(){ CustomerId = 1, Name = "CA", Age=13},
new Customer(){ CustomerId = 2, Name = "CB", Age=13},
new Customer(){ CustomerId = 3, Name = "CC", Age=13},
new Customer(){ CustomerId = 4, Name = "CD", Age=13}
};
products = new List<Product>{
new Product(){ ProductId = 1, Name = "PA", Origin="P1" },
new Product(){ ProductId = 2, Name = "PB", Origin="P2" },
new Product(){ ProductId = 3, Name = "PC", Origin="P1" },
new Product(){ ProductId = 4, Name = "PD", Origin="P3" }
};
orders = new List<Order>{
new Order(){ OrderId = 1 , CustomerId =1,
Products = new List<Product>{
new Product(){ ProductId = 2, Name = "PB", Origin="P2" },
new Product(){ ProductId = 3, Name = "PC", Origin="P1" }
}},
new Order(){ OrderId = 2 , CustomerId =1,
Products = new List<Product>{
new Product(){ ProductId = 3, Name = "PC", Origin="P1" },
new Product(){ ProductId = 4, Name = "PD", Origin="P3" }
}},
new Order(){ OrderId = 3 , CustomerId =3,
Products = new List<Product>{
new Product(){ ProductId = 4, Name = "PD", Origin="P3" }
}},
new Order(){ OrderId = 4 , CustomerId =2,
Products = new List<Product>标签: