关联表和 Linq 到 Sql

本文关键字:Sql Linq 关联 | 更新日期: 2023-09-27 18:35:16

假设我有树表User,Product和UserProduct。

一个

用户可以有多个产品,一个产品可以分配给多个用户。

我想用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; 
    }

我想知道是否有更好的方法?

关联表和 Linq 到 Sql

您可以使用

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();