【发布时间】:2018-08-27 02:44:01
【问题描述】:
这只是我快速完成的事情,但它显示了我想要的样子。 OBS 数据库图表表图片。所以我希望Team 表与Transfer 表有两个关系(OldTeamId、NewTeamId),这可能吗?
当我尝试按照现在的样子执行Add-Migration 时,我收到一条消息
无法确定“List”类型的导航属性“Team.OldTeams”表示的关系。手动配置关系,或使用“[NotMapped]”属性或使用“OnModelCreating”中的“EntityTypeBuilder.Ignore”忽略此属性
代码:
public class Transfer
{
public int Id { get; set; }
public DateTime TransferDate { get; set; }
public Player ThePlayer { get; set; }
public string PlayerId { get; set; }
public Team OldTeam { get; set; }
public int OldTeamId { get; set; }
public Team NewTeam { get; set; }
public int NewTeamId { get; set; }
}
public class Team
{
public Team()
{
Tournaments = new List<Tournament>();
Players = new List<TeamPlayer>();
OldTeams = new List<Transfer>();
NewTeams = new List<Transfer>();
}
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public byte[] TeamLogo { get; set; }
public DateTime Founded { get; set; }
public Country TheCountry { get; set; }
public int CountryId { get; set; }
public List<Tournament> Tournaments { get; set; }
public List<TeamPlayer> Players { get; set; }
public List<Transfer> OldTeams { get; set; }
public List<Transfer> NewTeams { get; set; }
}
public class GamepediaContext : DbContext
{
public DbSet<Country> Countries { get; set; }
public DbSet<Map> Maps { get; set; }
public DbSet<Player> Players { get; set; }
public DbSet<Team> Teams { get; set; }
public DbSet<TeamPlayer> TeamPlayers { get; set; }
public DbSet<Tournament> Tournaments { get; set; }
public DbSet<TournamentMap> TournamentMaps { get; set; }
public DbSet<Transfer> Transfers { get; set; }
}
[1]: https://i.stack.imgur.com/Y8Set.png
【问题讨论】:
-
你在数据库中创建了两个外键吗?
标签: c# sql entity-framework database-migration code-first