假设我有树表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并将其投影为匿名类型:

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

关于c# - 关联表和Linq到Sql,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10735590/

10-11 18:03