Haben Sie versucht, dynamic-update Option auf Ihre Klassenzuordnung?
Aber prüfen Sie, ob der Flush nicht die unbelasteten faulen Eigenschaften zuerst laden lässt, nur für den Fall.
In Ihrer Frage geben Sie an, dass Sie andere Eigenschaften verlieren. Ich habe noch nie ein solches Verhalten erlebt. Hängen Sie (unter Verwendung von ISession.Update
oder ISession.Merge
) ein losgelöstes Element in Ihrem aktuellen Code an?
Was ich vorschlagen möchte, wird in einem solchen Fall nicht funktionieren. Es sollte stattdessen mit einer Entität arbeiten, die aus dem aktuellen ISession
geladen wurde, einige Eigenschaften berührt und dann in db nur unter Verwendung von ISession.Flush
(oder vorzugsweise ITransaction.Commit
) gespeichert, da es keine gute Praxis ist, ohne Transaktionen zu arbeiten.