我想知道如何设置一对多关系,其中Cascade规则“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”的级联规则的选项。我们如何配置相同的?
答案 0 :(得分:1)
这是不可能的。
你必须手动处理它。