【发布时间】:2016-11-03 15:06:36
【问题描述】:
这是我的模型的两个实体,具有流畅的实体框架配置
Player.cs
public class Player
{
public string Name { get; set; }
public virtual Statistics Statistics { get; set; }
}
Statistics.cs
public class Statistics
{
public int GamePlayed { get; set; }
public int Assists { get; set; }
public int Goals { get; set; }
}
DbContextClass
modelBuilder.Entity<Player>()
.HasOptional(x => x.Statistics)
.WithMany()
.Map(x => x.MapKey("StatisticsId"));
最后,在我的 Player Table 上创建了一个名为“StatisticsId”的外键,这没问题。我想删除玩家,以级联删除相关统计数据。这是我的问题,将 WillCascadeDelete 添加到我的语句中
modelBuilder.Entity<Player>()
.HasOptional(x => x.Statistics)
.WithMany()
.Map(x => x.MapKey("StatisticsId"))
.WillCascadeOnDelete(true);
在删除统计信息时导致删除播放器。我怎样才能通过将 StatisticsId foreignKey 保留在播放器表上来使这项工作以相反的方式工作?
这里的要点是Statistics 可以“独自生活”而没有任何Player 相关。是否可以将实体框架设置为自动删除相关的Statistics 或者必须手动完成?
【问题讨论】:
标签: entity-framework