【问题标题】:EF6 - How do describe a Cascading Delete for 1:M with a shared child tableEF6 - 如何使用共享子表描述 1:M 的级联删除
【发布时间】:2014-04-01 17:38:27
【问题描述】:

我的数据库上下文中有 3 个实体:人员、商店和地址。所有实体都有一个 Id 属性,即它们的 PK。

人们有一个 1:M 到地址。人员实体有一个虚拟列表。 商店有一个 1:M 到地址。 Store Entity 有一个虚拟列表。

地址表将保存来自人员和商店的地址。

当我持久化人员图时,图中的所有地址都应该与人员实体一起持久化。

当我持久化存储图时,存储图中的所有地址都应该与存储实体一起持久化。

当我删除商店时,我希望 EF 删除与其关联的所有地址。 当我删除人员实体时,我希望 EF 删除与其关联的所有地址。

如何使用 Fluent API 设置这些关系?

谢谢!

【问题讨论】:

    标签: c# entity-framework


    【解决方案1】:

    我想我明白了。

    在 Store 和 People 的映射器中,我设置了与级联删除的可选关系:

      this.HasMany(x => x.Addresses)
                    .WithOptional() 
                    .WillCascadeOnDelete(true);
    

    这似乎有效,包括级联删除。

    【讨论】:

      猜你喜欢
      • 2015-09-21
      • 1970-01-01
      • 1970-01-01
      • 2018-03-06
      • 2011-01-19
      • 2020-07-20
      • 2015-04-27
      • 1970-01-01
      • 2013-01-03
      相关资源
      最近更新 更多