gpt4 book ai didi

entity-framework - Code First - 在一对多关系中将级联规则设置为 "Set Null"

转载 作者:行者123 更新时间:2023-12-02 03:53:49 25 4
gpt4 key购买 nike

我想知道如何建立具有级联规则“设置为空”的一对多关系。这是我正在使用的两个实体。 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);

这导致级联规则“删除”

所以简而言之,我没有看到任何选项来设置“设置为空”的级联规则。我们如何配置相同的?

最佳答案

这不可能。

您必须手动处理它。

关于entity-framework - Code First - 在一对多关系中将级联规则设置为 "Set Null",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13504849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com