Nhibernate-不使用forign键生成架构

Nhibernate-不使用forign键生成架构,nhibernate,fluent-nhibernate,Nhibernate,Fluent Nhibernate,对于我们的测试装置,我们使用NHibernate生成数据库模式。我们有一个稍微奇怪的情况,一个实体引用另一个实体,但我们不希望有外键约束(应该可以删除引用的实体,这样就不能使用外键) 是否可以指定生成的架构没有特定关系的外键?- 如果您使用的是Fluent NHibernate,则可以在IHasManyConvention或IReferenceConvention(如果使用约定)的实现中进行设置 Cascade.SaveUpdate()应该传播保存和更新,但在删除父对象时保留孤立的子对象 在标准

对于我们的测试装置,我们使用NHibernate生成数据库模式。我们有一个稍微奇怪的情况,一个实体引用另一个实体,但我们不希望有外键约束(应该可以删除引用的实体,这样就不能使用外键)

是否可以指定生成的架构没有特定关系的外键?

-

如果您使用的是Fluent NHibernate,则可以在IHasManyConvention或IReferenceConvention(如果使用约定)的实现中进行设置

Cascade.SaveUpdate()应该传播保存和更新,但在删除父对象时保留孤立的子对象

在标准NHibernate HBM文件中,我认为行李的标签应该如下所示:

<bag cascade="save-update" name="EntityName"> ... </bag>
。。。

更新:Ayende关于孤立子对象以及与级联值的差异的信息帖子。

如果删除引用的实体,您肯定应该更新引用它的实体吗?如果不这样做,您将破坏引用完整性。这就是意图。在这种特殊(和不寻常)的情况下,我们希望能够删除实体而不更新引用它的实体。外键查找应以静默方式失败。