【问题标题】:NHibernate cascade and inverseNHibernate级联和逆
【发布时间】:2010-08-31 08:41:50
【问题描述】:

我有如下三个映射:

public MainChapterMap()
{
    // other properties

    HasMany(x => x.ClientSpecific).KeyColumn("MainChapterId");
}

public MainChapterClientMap()
{
    // other properties

    References(x => x.MainChapter).Column("MainChapterId");
    HasMany(x => x.Details).KeyColumn("MainChapterClientId");
}

public MainChapterClientDetailMap()
{
    // other properties

    References(x => x.MainChapterClient).Column("MainChapterClientId");
}

MainChapter 有许多客户特定的章节。客户特定章节 (MainChapterClient) 有很多翻译 (MainChapterClientDetail)

删除规则如下:

  1. 删除MainChapter
    • 删除MainChapterClient
    • 删除MainChapterClientDetail
  2. 删除MainChapterClient
    • 不要删除MainChapter
    • 删除MainChapterClientDetail
  3. 删除MainChapterClientDetail
    • 请勿删除MainChapter
    • 请勿删除 MainChapterClientDetail

但无论如何我最终都会收到此错误:

删除的对象将被重新保存 级联(从 关联)[Entities.MainChapterClient#39]

我不知道如何设置我的级联了。任何帮助都非常受欢迎!

【问题讨论】:

    标签: nhibernate fluent-nhibernate


    【解决方案1】:

    你需要从两边删除引用:

    MainChapterClient.Details.Remove(instance);
    instance.MainChapterClient = null;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-23
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-18
      相关资源
      最近更新 更多