2012-05-24 76 views
2

假設我有樹表User,Product和UserProduct。關聯表和Linq到SQL

用戶可以有許多產品,並且產品可以分配給許多用戶。

我想用linq來檢索所有的用戶產品。我創造了User.cs類此方法:

public List<Product> GetProductList() 
    { 
     List<Product> listProduct = new List<Product>(); 
     List<UserProduct> listUserProduct = this.UserProdutcs.ToList(); 

     foreach (var item in listUserProduct) 
     { 
      listProduct.Add(item.Product); 
     } 

     return listProduct; 
    } 

我想知道是否有這樣做的更好的辦法?

回答

2

你可以使用LINQ和項目到一個匿名類型:

var newList = (from products in listProduct 
      join uProducts in listUserProduct on products.id equals uProducts.productId 
      select new { 
       ProductDescription = products.Description, 
       ProductAttribute = products.YourAttributes, 
       ProductUserProductAttribute = uProducts.YourAttribute 
      }).ToList();