Nehmen wir an, ich habe die Tabelle "Zellen", Tabelle "Divisionen" und die Verknüpfungstabelle zwischen ihnen. Darüber hinaus kann ich Tabelle "Zellen" nicht zuordnen, weil ich "CellsView" habe, die ich zuordnen muss (es kann Zellen abhängig von aktuellen Benutzerberechtigungen anzeigen)Fluent NHibernate - Entity nicht zurückgeben, wenn eine seiner Abhängigkeiten nicht existiert
Weiter .. kann es eine Situation geben, wenn Division ist Zugewiesen an eine Zelle, aber der aktuelle Benutzer wird diese Zelle nicht sehen, wenn er sie auflisten möchte. Beim Abrufen der Liste der Divisionen erhält unser Benutzer eine Ausnahme, die besagt, dass die Zelle mit der ID "1" nicht erwartet wird. (ID ist korrekt und Zelle existiert, aber unsere Ansicht erlaubt es nicht, diese Zelle anzuzeigen)
Wie kann ich verhindern, dass die Divisionsliste eine Ausnahme auslöst (Lazy Loading ist aktiviert) ** und von der Division, die diese Ausnahme auslösen würde * *?
Ich habe versucht, aktuelle Entität auf OnPreLoad -Ereignis und OnPostLoad -Ereignis Null, wenn meine Cell-Entität kann nicht aufgelöst werden, aber es funktioniert nicht. Alle Divisions-Entities werden zurückgegeben und versuchen beim Lesen fließend zu versuchen, Cell aufzulösen und Exception auszulösen.
Dass CellsView-Verbindung an vielen Stellen innerhalb der Anwendung verwendet wird, wäre eine generische Lösung wie diese mit PostLoad-Ereignissen großartig, um damit global umzugehen.
Filter Idee scheint nett zu sein, aber ich möchte nicht auf bestimmten Wert (zum Beispiel schwarze Katze) filtern, aber wenn Subentität sogar existiert (Katze hat Typ "männlich") Ich möchte prüfen, ob dieser Typ richtig ist geladen oder nicht ganze Katze zurückgeben, wenn der Typ einen Fehler anzeigt. (Ich möchte IsInitialized verwenden). Denkst du, dass es möglich ist? –
Ich habe weitere Details hinzugefügt. –