首先在EF6代码中创建多对多关系

问题描述 投票:1回答:1

我试图首先使用代码在两个表之间创建多对多关系。

我有类似以下内容的东西。

public class Railroad
{

    public int Id { get; set; }

    // Other members...

    public ICollection<StorageLocation> StorageLocations { get; set; }

}

public class StorageLocation
{

    public int Id { get; set; }

    public Provider Provider { get; set; }

    // Other members

    public ICollection<Railroad> Railroads { get; set; }

}

我读过an article,它描述了这是正确的方法。但是,当我尝试构建迁移时,出现错误。

无法确定类型为“ ICollection”的导航属性“ Railroad.StorageLocations”所表示的关系。手动配置关系,或者使用'[NotMapped]'属性或通过'OnModelCreating'中的'EntityTypeBuilder.Ignore'忽略此属性。

c# .net-core entity-framework-6 ef-code-first
1个回答
0
投票

您确定您不在EF Core上吗?EF Core以前已支持此功能,但现在不支持此功能:

请参见this

在先前版本的Entity Framework中,此模型定义足以使EF暗示正确的关系类型并为其生成连接表。在EF Core中,必须在模型中包括一个实体来表示联接表,然后将导航属性添加到指向联接实体的多对多关系的任一侧:

© www.soinside.com 2019 - 2024. All rights reserved.