3

我想知道如何建立具有级联规则"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”级联规则的选项。我们如何配置相同?

4

1 回答 1

1

这是不可能的。

您必须手动处理它。

于 2012-11-22T12:19:41.020 回答