我的数据库关系如下:
在C#中,当有人将产品添加到购物车时,我会创建新订单。我的问题是我需要在gridview中添加到购物车的产品数据,如类别名称,产品长度等。订单类包含OrderDetails的Icollection,我试图从那些中检索数据订购我存储产品ID的详细信息。所以这里的问题是,我有什么方法可以在这里进行多个连接,这样当用户将产品添加到购物车时,我可以从表(C#中的类)产品,产品类别和类别中检索所需的所有数据,这样他就可以看看他放在购物车里的东西。
我试图通过以下方式访问其他表:
Orders.OrderDetails.ElementAT(0).Product.ProductCategories.ElementAt(0)...
但这并没有把我带到任何地方......有没有人理解我在这里想要达到的目标?
如果有人可以帮我解决这个问题或者指出我正确的方向我该怎么做?
答案 0 :(得分:1)
通常,创建一个类来表示您希望显示的数据,然后使用LINQ来创建与该结构匹配的数据的投影,通常是明智的,例如:
from o in context.Orders
from p in o.Products
select new CartGridItem
{
Product = p,
CategoryNames = p.Categories.Select(c => c.Name),
}