Nhibernate-不使用forign键生成架构
对于我们的测试装置,我们使用NHibernate生成数据库模式。我们有一个稍微奇怪的情况,一个实体引用另一个实体,但我们不希望有外键约束(应该可以删除引用的实体,这样就不能使用外键) 是否可以指定生成的架构没有特定关系的外键?- 如果您使用的是Fluent NHibernate,则可以在IHasManyConvention或IReferenceConvention(如果使用约定)的实现中进行设置 Cascade.SaveUpdate()应该传播保存和更新,但在删除父对象时保留孤立的子对象 在标准NHibernate HBM文件中,我认为行李的标签应该如下所示:Nhibernate-不使用forign键生成架构,nhibernate,fluent-nhibernate,Nhibernate,Fluent Nhibernate,对于我们的测试装置,我们使用NHibernate生成数据库模式。我们有一个稍微奇怪的情况,一个实体引用另一个实体,但我们不希望有外键约束(应该可以删除引用的实体,这样就不能使用外键) 是否可以指定生成的架构没有特定关系的外键?- 如果您使用的是Fluent NHibernate,则可以在IHasManyConvention或IReferenceConvention(如果使用约定)的实现中进行设置 Cascade.SaveUpdate()应该传播保存和更新,但在删除父对象时保留孤立的子对象 在标准
<bag cascade="save-update" name="EntityName"> ... </bag>
。。。
更新:Ayende关于孤立子对象以及与级联值的差异的信息帖子。如果删除引用的实体,您肯定应该更新引用它的实体吗?如果不这样做,您将破坏引用完整性。这就是意图。在这种特殊(和不寻常)的情况下,我们希望能够删除实体而不更新引用它的实体。外键查找应以静默方式失败。