我有这个数据库结构image of structure 我想加载一个Product_Attributes的列表,并包含Product_AttributeItems为单个产品。Linq to Entity“In”多重关系查询?
因此,Product_Attributes通过Product_AttributeMap映射,然后单个Product_AttributeItems也被映射。
我无法得到我的头!我猜测它应该是某种IN语句,即选择它们存在于映射表中的项目。
我一直在使用不同的联接语句试过了,但更多的Product_Attrubutes与每个仅包括一名Product_AttributeItem
名单总是碰得因此而不是3个Product_Attributes(尺寸,颜色,款式)的;包含项目(S,M,L),包含(黑色,白色)的颜色属性的大小属性;包含(US)的样式属性。我最终将得到3个Size属性,每个属性包含1个大小,2个颜色属性包含每个颜色1个样式属性(如果有意义的话)。
EDIT @Daniel Hilgarth
的代码是类似于在5个Product_Attributes而不是存在的3(尺码,颜色,样式)
的列表这List<Product_Attribute> attributes =
(from a in _db.Product_Attribute.Include("Product_AttributeItem")
join item in _db.Product_AttributeItem on a.AttributeId equals item.AttributeId
join aim in _db.Product_AttributeItemMap on item.AttributeItemId equals
aim.AttributeItemId where item.AttributeId == a.AttributeId
select a).ToList();
结果
编辑@ Botz3000
回到顶部另一个方向
List<Product_AttributeItems> attributeItems =
(from aim in _db.Product_AttributeItemMap.Include("Product_AttributeItem.Product_Attribute")
where aim.ProductId == prodId
select aim).ToList();
我结束了我需要的数据,但只是格式错误。因为我需要它作为包含其Product_AttributeItems(用于选项)的Product_Attributes(每个下拉列表)的列表
请张贴你试过的代码,我们可以改进它。 – 2011-03-11 14:13:29
更新了我的问题 – 2011-03-11 14:58:18