我有以下FNH映射片段:
HasManyToMany((c) => c.Plaintiffs)
.LazyLoad()
.WithTableName("invoicePlantiff")
.WithChildKeyColumn("PersonReferenceID")
.WithParentKeyColumn("invoiceID")
.FetchType.Join();
产生以下HBM:
<bag name="Plaintiffs" access="iServe.Design.CslaNHibernate.CslaChildPropertyAccessor, iServe, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" lazy="true" table="invoicePlantiff">
<key column="invoiceID" />
<many-to-many column="PersonReferenceID" class="iServe.PersonReference, iServe, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" fetch="join" />
</bag>
问题在于我正在处理遗留数据,我们只是说'不太理想',而且有些记录有无效的ID,所以我需要将not-found="ignore"
属性放在多对数上包里面有很多标签。我没有看到任何方法来实现这一点与FNH。
.NotFound.Ignore()
电话上有References()
,但HasManyToMany
电话上没有。
有人可以告诉我我错过了什么吗?即使在渲染属性之后“注入”该属性/在配置NH之前很好,我只需要它就可以工作。
提前致谢。
更新 gcores回答无效,会将其添加到错误的代码中,有关详情,请参阅我对其回答的评论。
答案 0 :(得分:8)
我刚刚提交了一项更改,将NotFound
添加到HasMany
和HasManyToMany
来电。希望它有所帮助!
答案 1 :(得分:0)
我不确定这个但是没有SetAttribute吗?
HasManyToMany((c) => c.Plaintiffs)
.LazyLoad()
.WithTableName("invoicePlantiff")
.WithChildKeyColumn("PersonReferenceID")
.WithParentKeyColumn("invoiceID")
.FetchType.Join()
.SetAttributte("not-found", "ignore");
<强>更新强>
很抱歉,我知道有一个SetAttribute但我不确定它做了你想要的。
另一种选择是混合Fluent NH和XML映射,Fluent NH wiki explains how to do this或者可以看到answer from stackoverflow。