У меня есть следующий фрагмент отображения 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>
Проблема в том, что я имею дело с унаследованными данными, скажем, «меньше идеального», и некоторые записи имеют недопустимые идентификаторы, поэтому мне нужно поместить атрибут not-found="ignore"
в тег «многие ко многим» внутри сумки. Я не вижу никакого способа достичь этого с FNH.
В вызове References()
есть .NotFound.Ignore()
, но в вызове HasManyToMany
нет.
Может кто-нибудь сказать мне, что мне не хватает? Даже если это «хак» - «вставить» атрибут после его рендеринга / перед настройкой NH, все в порядке, мне просто нужно, чтобы он работал.
Заранее спасибо.
ОБНОВЛЕНИЕ gcores ответ не будет работать, он добавляет его к неправильному тегу, см. Мой комментарий к его ответу для получения дополнительной информации.