林克关系连接
本文关键字:连接 关系 林克 | 更新日期: 2023-09-27 18:35:48
我正在使用实体框架,并且需要一种使用 linq 使集合可用的方法。我会说明我的意思。
我有3张桌子。
- 产品
- 产品选项
- Product_ProductOption_Mappings
我正在使用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();
}
现在这是不正确的,但它旨在向Products
返回"实现"的ProductOptions
列表。
任何帮助将不胜感激。
如果
多对多表仅包含管理关系所需的两个 ID,EF 应支持在概念模型中隐藏该链接表。 基本上,您应该在概念模型中只有一个产品和产品选项实体,它们之间具有多对多关联。 在下面的示例中,我将产品"选项"中包含的导航属性命名为"选项"。
然后,您应该能够执行以下操作:
using((Model.Entities context = new Model.Entities())
{
var options = context.Products
.Single(p => p.ID == 1)
.Options
.ToList();
}
来解决您的问题。