gpt4 book ai didi

fluent-nhibernate - 使用 fluent-nhibernate,是否有约定使一对多关系中的外键列不为空?

转载 作者:行者123 更新时间:2023-12-05 01:17:15 26 4
gpt4 key购买 nike

我正在使用 fluent-nhibernate 约定来映射我的实体:

 public class HasManyConvention : IHasManyConvention
{
public void Apply(FluentNHibernate.Conventions.Instances.IOneToManyCollectionInstance instance)
{
instance.Key.Column(instance.EntityType.Name + "ID");
instance.Cascade.AllDeleteOrphan();
}
}

因此此约定生成以下休眠映射:

<class xmlns="urn:nhibernate-mapping-2.2" mutable="true" name="ParentType, ParentTypeAssembly" table="ParentTable">
<id name="ParentIDID" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" unsaved-value="0">
<column name="ParentID" />
<generator class="identity" />
</id>

<bag cascade="all-delete-orphan" name="Childs" mutable="true">
<key>
<column name="ParentID" />
</key>
<one-to-many class="ChildType, ChildTypeAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</bag>
</class>
</hibernate-mapping>

如何修改约定使子表中的ParentID不为空?

所以它看起来像这样:

  <key>
<column name="ParentID" not-null="true" />
</key>

最佳答案

公约中似乎没有任何方法可以做到这一点。看着 tests为了实现 HasManyConvention 和 IOneToManyCollectionInstance 接口(interface)上的方法,我看不到任何设置 not-null 的方法。

您可能想看看这个 question虽然。

关于fluent-nhibernate - 使用 fluent-nhibernate,是否有约定使一对多关系中的外键列不为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3872883/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com