代码之家  ›  专栏  ›  技术社区  ›  Arnis Lapsa

聚合根的Fluent NHibernate级联删除约定

  •  0
  • Arnis Lapsa  · 技术社区  · 14 年前

    问题是:如果实体引用继承自类型,如何编写防止删除该引用的约定 Root ?


    我使用的是fluent nhibernate,它是自动映射功能。默认情况下启用层叠删除。

    我有根了 User Application 用户 寄存器 Applications 用户 带角色 Admin

    什么时候? 用户 删除 应用程序 ,由于层叠删除,nhibernate删除 本身(多么讽刺……)。


    我不确定如何为应用程序指定SaveUpdate层叠->仅用户关联:

    alt text


    诀窍在于:

    m.References(x=>x.RegisteredBy).Cascade.SaveUpdate(); //RegisteredBy.Type==User
    

    var m=new AutoPersistenceModel(storeCfg);
    m.UseOverridesFromAssembly(assembly);
    
    1 回复  |  直到 14 年前
        1
  •  1
  •   Sly    14 年前

    您可以覆盖应用程序关联的级联行为。您需要设置SaveUpdate()而不是所有delete孤儿。 为此,您需要实现 IAutomappingOverride<Application>

    推荐文章