我正在使用实体框架,并且需要一种使用linq创建集合的方法。我会表明我的意思。
我有3张桌子。
我正在使用Product_ProductOption_Mappings
表在Product
和ProductOptions
之间创建多对多关系。鉴于特定产品,我想提供一系列产品选项。
using((Model.Entities context = new Model.Entities())
{
var options = context.Products
.Where(p => p.ID == 1)
.First()
.Product_ProductOption_Mappings.ProductOptions.ToList();
}
现在这不正确,但它的目的是返回ProductOptions
的“{1}}列表”。
非常感谢任何帮助。
答案 0 :(得分:0)
如果您的多对多表仅包含管理关系所需的两个ID,则EF应支持将该链接表隐藏在概念模型中。基本上,您应该在概念模型中拥有Product和ProductOption实体,它们之间具有多对多关联。在下面的示例中,我已将产品“选项”中包含的导航属性命名为。
然后你应该能够做到这样的事情:
using((Model.Entities context = new Model.Entities())
{
var options = context.Products
.Single(p => p.ID == 1)
.Options
.ToList();
}
解决您的问题。