Ich habe folgendes FNH-Mapping-Fragment:Fluent NHibernate HasManyToMany und NOTFOUND
HasManyToMany((c) => c.Plaintiffs)
.LazyLoad()
.WithTableName("invoicePlantiff")
.WithChildKeyColumn("PersonReferenceID")
.WithParentKeyColumn("invoiceID")
.FetchType.Join();
, die die folgenden HBM produziert:
<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>
Das Problem ist, dass ich mit Altdaten zu tun habe, die ist, lassen wir sagen einfach "weniger als ideal", und einige Datensätze haben ungültige IDs, also muss ich das Attribut not-found="ignore"
auf den vielen-zu-vielen Tags innerhalb der Tasche setzen. Ich sehe keine Möglichkeit, dies mit FNH zu erreichen.
Es gibt die .NotFound.Ignore()
über die References()
Anruf, aber nicht über die HasManyToMany
Anruf.
Kann mir jemand sagen, was ich vermisse? Selbst wenn es ein Hack ist, das Attribut zu "injizieren", nachdem es gerendert wurde/bevor die Konfiguration von NH in Ordnung ist, muss es nur funktionieren.
Vielen Dank im Voraus.
UPDATE gcores Antwort wird nicht funktionieren, fügt es dem falschen Tag hinzu, siehe meinen Kommentar zu seiner Antwort für weitere Informationen.
Eigentlich gcores, die nicht funktioniert, weil es das Attribut der Tasche hinzugefügt und das ist ungültig. Es muss auf dem "Vielen-zu-Vielen" in der Tasche gehen. –