我想知道如何建立具有级联规则"Set Null"的一对多关系。这是我正在使用的两个实体。StandradRelay 与 RelayConfig 具有一对多的关系。
public class StandardRelay {
...
public virtual ICollection<RelayConfig> RelayConfigs { get; set; }
}
public class RelayConfig {
...
public virtual StandardRelay StandardRelay { get; set; }
}
默认情况下,上述代码导致“无操作”的级联规则。所以我尝试将 DbModelBuilder 与以下流利的 API 一起使用。
modelBuilder.Entity<StandardRelay>()
.HasMany<RelayConfig>(s => s.RelayConfigs)
.WithOptional(r => r.StandardRelay)
.WillCascadeOnDelete(false);
这再次导致“无动作”的级联规则。然后我尝试了以下
modelBuilder.Entity<StandardRelay>()
.HasMany<RelayConfig>(s => s.RelayConfigs)
.WithOptional(r => r.StandardRelay)
.WillCascadeOnDelete(true);
这导致“删除”的级联规则。
所以简而言之,我看不到任何设置“Set Null”级联规则的选项。我们如何配置相同?