林克关系连接

本文关键字:连接 关系 林克 | 更新日期: 2023-09-27 18:35:48

我正在使用实体框架,并且需要一种使用 linq 使集合可用的方法。我会说明我的意思。

我有3张桌子。

  • 产品
  • 产品选项
  • Product_ProductOption_Mappings

我正在使用Product_ProductOption_Mappings表在ProductProductOptions之间创建多对多关系。给定一个特定的产品,我想拿出它的产品选项集合。

using((Model.Entities context = new Model.Entities())
{
    var options = context.Products
            .Where(p => p.ID == 1)
            .First()
            .Product_ProductOption_Mappings.ProductOptions.ToList();
}

现在这是不正确的,但它旨在向Products返回"实现"的ProductOptions列表。

任何帮助将不胜感激。

林克关系连接

如果

多对多表仅包含管理关系所需的两个 ID,EF 应支持在概念模型中隐藏该链接表。 基本上,您应该在概念模型中只有一个产品和产品选项实体,它们之间具有多对多关联。 在下面的示例中,我将产品"选项"中包含的导航属性命名为"选项"。

然后,您应该能够执行以下操作:

using((Model.Entities context = new Model.Entities())
{
    var options = context.Products
        .Single(p => p.ID == 1)
        .Options
        .ToList();
}

来解决您的问题。