Mám tuto strukturu Databáze
public class Gameboard
{
public string Id { get; set; }
public int Round { get; set; }
public int MaxTries { get; set; }
public ICollection<ColorGameBoard> Colors { get; set; }
public ICollection<ColorGameBoard> CorrectColors { get; set; }
}
public class Color
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<ColorGameBoard> ColorGameBoards { get; set; }
}
public class ColorGameBoard
{
public int Id { get; set; }
public int GameBoardId { get; set;}
public Gameboard Gameboard { get; set; }
public int CorrectColorId { get; set; }
public Color CorrectColors { get; set; }
public int ColorId { get; set; }
public Color Color { get; set; }
}
To je, jak jsem se vytvořit vztahů:
modelBuilder.Entity<ColorGameBoard>()
.HasOne(x => x.Gameboard)
.WithMany(x => x.CorrectColors)
.HasForeignKey(x => x.CorrectColorId);
modelBuilder.Entity<ColorGameBoard>()
.HasOne(x => x.Gameboard)
.WithMany(x => x.Colors)
.HasForeignKey(x => x.ColorId);
modelBuilder.Entity<ColorGameBoard>()
.HasOne(x => x.Color)
.WithMany(x => x.ColorGameBoards)
.HasForeignKey(x => x.GameBoardId);
Dostanu tuto chybu:
Nelze vytvořit vztah mezi 'Gameboard.Barvy " a " ColorGameBoard.Gameboard, protože vztah již existuje mezi Gameboard.CorrectColors " a " ColorGameBoard.Gameboard'. Navigační vlastnosti se mohou účastnit pouze v jediném vztahu. Pokud chcete přepsat existující vztah zavolat "Ignorovat" na navigaci ColorGameBoard.Gameboard první v OnModelCreating'.
Struktura databáze: Na hrací plán má dvě seznam s barvami. Každý seznam by měl obsahovat alespoň 5 barev. A každá barva v databázi mohou být použity na několika gameboard. Navíc, barva může být použit jako mnohokrát chtěla na gameboard.
Nevíte někdo, jak opravit tuto chybu?