我有两张表要加入游戏和详细信息。游戏有一个细节
问题是我无法正确绑定表格。我得到的错误是
“实体类型‘游戏’和‘详细信息’不能共享表‘详细信息’,因为它们不在同一类型层次结构中,或者它们之间没有有效的一对一外键关系和匹配的主键。”
这是我的实现
public class Game
{
[Key]
[ForeignKey("GameDetails")]
public int GameId { get; set; }
public string GameName { get; set; }
//Navigation prop
public virtual Details GameDetails { get; set; }
public virtual ICollection<Details> DetailsId { get; set; }
}
public class Details
{
[Key]
public int DetailsId { get; set; }
public int GameId { get; set; }
public int RatingId { get; set; }
public int Grade { get; set; }
//Navigation prop
[ForeignKey("DetailsId")]
public virtual Game GameDetails { get; set; }
public virtual RatingCompany RatingCompany { get; set; }
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Game>().HasKey(f => f.GameId);
modelBuilder.Entity<Game>()
.Map(m =>
{
m.Properties(b => new {b.GameId});
m.ToTable("Details");
});
}
我怎样才能正确地将它与 1-1 关系绑定?