Cra*_*aig 49 c# nhibernate nhibernate-mapping
我有一个映射的方式.
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Model.Entities" schema="etl" assembly="Model" default-lazy="false">
<class name="Model.Entities.DataField, Model" table="mdm_field">
<id name="FieldId" column="field_id" type="int">
<generator class="native" />
</id>
<many-to-one name="KeyField" class="Model.Entities.Key, Model" column="field_id" />
</class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)
现在在数据库中,mdm_field表中的field_id有时具有相关key_field表中不存在的值,因此它基本上是破坏了引用完整性.因为当我加载实体时,我得到一个错误"没有给定标识符的行存在".如何配置映射以适应这种情况,以便在这种情况下不会死亡.
Cra*_*aig 78
好的,我找到了答案.添加
not-found="ignore"
Run Code Online (Sandbox Code Playgroud)
属性属性KeyField:
<many-to-one name="KeyField" not-found="ignore" class="Model.Entities.Key, Model" column="field_id" />
Run Code Online (Sandbox Code Playgroud)
试试......
public void Override(ModelMapper modelMapper) {
modelMapper.Class<T>(c => {
c.ManyToOne(m => m.FKObj, r => {
r.Column("FKColumn");
r.NotFound(NotFoundMode.Ignore); // THIS IS IMPORTANT!!!
});
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31248 次 |
| 最近记录: |