Eins-zu-eins-Beziehungen innerhalb von nhibernate können entweder "false" oder "proxy" sein. Ich habe mich gefragt, ob jemand einen Weg kennt, ein faules Eins-zu-eins-Mapping zu machen.NHibernate: Aktivieren des verzögerten Ladens bei Eins-zu-eins-Zuordnung
Ich habe einen Hack ausgearbeitet, um das gleiche Ergebnis zu erzielen, indem ich eine Lazy-Menge verwende, die einem privaten Feld zugeordnet ist, und dass die öffentliche Eigenschaft das erste Ergebnis dieser Menge zurückgibt. Es funktioniert, aber ist nicht der sauberste Code ...
Vielen Dank im Voraus!
Was meinst du mit "es sei denn, die Verbindung ist obligatorisch"? – cbp
Und was, wenn 90% der Zeit Sie nicht einmal die Datenbank treffen werden, um zu sehen, ob es existiert, weil es nicht benutzt wird? Entwickler wissen besser über ihren persönlichen Gebrauch als NHibernate, so etwas sollte unterstützt werden. – BradLaney
@BradLaney, auf nicht eingeschränkt = "wahre" Seite, Lazy Loading durch Proxyfying kann nicht funktionieren, wie in Seans Link erklärt. Aber seit [Anfang 2010] (https://ayende.com/blog/4378/nhibernate-new-feature-no-proxy-associations) wird faul = "No-Proxy" auf Eins-zu-eins und vielen unterstützt -zu einem. Mit dieser Option arbeitet Lazy Loading auf nicht eingeschränkter Seite (getestet mit NH 4), wenn es abgefragt wird (nicht im Falle von direktem Laden: immer noch eifrig abzurufen). Dies führt dazu, dass die Stammentität anstelle der zugehörigen Entität proxyfiziert wird, damit der Aufruf der zugehörigen Entitätseigenschaft abgefangen und getreulich geladen werden kann. –