Ich verwende die FluentValidation-Bibliothek, um eine eindeutige Einschränkung für eines meiner Modelle zu erzwingen:
%Vor% Der ApplicationDbContext
-Wert wird mit Hilfe von StructureMap injiziert. Um sicherzustellen, dass der Kontext am Ende jeder Anfrage gelöscht wird, habe ich versucht, ObjectFactory.ReleaseAndDisposeAllHttpScopedObjects()
im Handler EndRequest
für meine Anwendung aufzurufen.
Leider scheint es so, als ob die Methode Application_EndRequest
aufgerufen wird, bevor meine Validator-Klasse ihre Arbeit erledigen kann und der Kontext durch die Zeit, in der FooValidator.BeUnique
ausgeführt wird, entsorgt wird.
Gibt es eine bessere Möglichkeit, datenbankabhängige Validierungen mit der FluentValidation-Bibliothek durchzuführen, oder ist dies die einzige Lösung, um diese Logik an anderer Stelle (entweder zur Controller-Aktion, zur Datenbank selbst oder anderswo) zu verschieben?