C# 2相同类型EF Core 1.1的导航属性

C# 2相同类型EF Core 1.1的导航属性,c#,sql,asp.net,entity-framework,entity-framework-core,C#,Sql,Asp.net,Entity Framework,Entity Framework Core,我有两张桌子和一队。比赛桌上应该有主队和AwayTeam,但这些球队不是永久性的,每次主队创建比赛时都会创建一个新球队。所以基本上应该是一对一的关系 主队->比赛 和 AwayTeam->Match 我创建了这样的模型 public class Team { [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; } public string TeamName {

我有两张桌子和一队。比赛桌上应该有主队和AwayTeam,但这些球队不是永久性的,每次主队创建比赛时都会创建一个新球队。所以基本上应该是一对一的关系

主队->比赛 和 AwayTeam->Match

我创建了这样的模型

 public class Team
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    public string TeamName { get; set; }
    public Match Match { get; set; }
    public List<Player> Players { get; set; }
}
 public class Match
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    public User User { get; set; }
    public Location Location { get; set; }
    public Sport Sport { get; set; }
    public DateTime Time { get; set; }
    public int Difficulty { get; set; }
    public string Type { get; set; }
    public string Comment { get; set; }
    public int HomeTeamId { get; set; }
    public int GuestTeamId { get; set; }
    public virtual Team HomeTeam { get; set; }
    public virtual Team GuestTeam { get; set; }

}

 modelBuilder.Entity<Match>()
            .HasOne(m => m.HomeTeam)
            .WithOne(m => m.Match)
            .HasForeignKey<Match>(p => p.HomeTeamId)
            .IsRequired();


        modelBuilder.Entity<Match>()
            .HasOne(m => m.GuestTeam)
            .WithOne(m => m.Match)
            .HasForeignKey<Match>(p => p.GuestTeamId)
            .IsRequired();
可能重复的
Cannot create a relationship between 'Team.Match' and 'Match.GuestTeam', because there already is a relationship between 'Team.Match' and 'Match.HomeTeam'. Navigation properties can only participate in a single relationship.