问题描述
我在 .Net 5 环境中使用 Nhibernate 5.3.5,其中的类使用动态更新和动态插入。这很有效,因为它大大减少了发送到数据库的“column=null”的数量。
我的问题是要避免在插入和更新这些类的动态组件标签时出现相同的“column=null”重载,但它不起作用。这似乎是一个错误/疏忽,尽管我希望我只是设置错误。
类映射:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="MyClass,MyNamespace" table="MyTable" dynamic-update="true" dynamic-insert="true">
<cache region="MainCache" include="all" usage="read-write" />
<id name="Id" column="Id">
<generator class="hilo" />
</id>
<many-to-one name="ManyToOne" column="[MyReferencedColumn]" />
<property name="MyProperty" column="[MyPropertyColumn]" />
<dynamic-component name="DynamicProperties">
<many-to-one name="MyDynamicProperty" column="[MyDynamicColumn]" class="ReferencedClass" />
</dynamic-component>
</class>
</hibernate-mapping>
此映射导致插入如下所示:
insert into MyTable(Id,MyDynamicColumn) Values(123,null)
当我希望它看起来像这样时:
insert into MyTable(Id) Values(123)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)