我有如下数据库关系:

在C#中,当有人将产品添加到购物车中时,我正在创建新的订单。我的问题是,我需要添加到网格视图中的购物车中的产品的数据,如类别名称、产品长度等。Orders类包含OrderDetails的Icollection,我正在尝试从存储产品id的订单详细信息中检索数据。因此,这里的问题是,这里是否存在多个联接的方法,以便当用户将产品添加到购物车中时,可以从表(C#中的类)产品、产品类别和类别中检索所需的所有数据,以便他可以看到他在购物车中放了什么。
我试图通过以下方式访问其他桌子:
Orders.OrderDetails.ElementAT(0).Product.ProductCategories.ElementAt(0)...但这不会带我去任何地方。有人知道我在这里想要实现什么吗?
如果有人能帮我解决这个问题,或者指出正确的方向,我该怎么办?
发布于 2015-04-17 21:27:46
通常,明智的做法是创建一个类来表示您希望显示的数据,然后使用LINQ创建与该结构相匹配的数据投影,如下所示:
from o in context.Orders
from p in o.Products
select new CartGridItem
{
Product = p,
CategoryNames = p.Categories.Select(c => c.Name),
}https://stackoverflow.com/questions/29708776
复制相似问题