Ich verwende Fluent NHibernate mit einer externen 'hibernate.cfg.xml' Datei.
Nachfolgend ist der Konfigurationscode, bei dem ich einen Fehler erhalte:
%Vor%Aber wenn NHibernate versucht, zu konfigurieren, erhalte ich einen fließenden Fehler:
Während der Konfiguration der Persistenzschicht ist eine Ausnahme eingetreten.
Die innere Ausnahme sagt:
Die ProxyFactoryFactory wurde nicht konfiguriert. Initialisieren Sie die Eigenschaft 'proxyfactory.factory_class' des Konfigurationsabschnitts session-factory mit einem der verfügbaren NHibernate.ByteCode-Provider.
Ich habe gegoogelt und nach einigen Lösungen, die ich gefunden habe, habe ich folgende Änderungen vorgenommen:
Fügen Sie folgende dlls zu meinem App Bin hinzu:
Castle.Core.dll, Castle.DynamicProxy2.dll, NHibernate.ByteCode.Castle.dll
Hinzugefügt folgende Eigenschaft in hibernate.cfg.xml
& lt; Eigenschaftsname="proxyfactory.factory_class" & gt; NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle & lt; / property & gt;
Aber ich bekomme immer noch die selbe Ausnahme.
Das Problem könnte in Ihrer hibernate.cfg.xml sein, überprüfen Sie, ob die Version 2.2 verwendet wird und ob sie gut gebildet ist.
Das Mapping sollte wie folgt beginnen:
%Vor%Zusammen mit dem Fehler, den Sie veröffentlichen, werden möglicherweise weitere Informationen bereitgestellt, da dieser Fehler für den Konfigurationsparser ziemlich allgemein ist. Wenn nicht, können Sie vielleicht weitere Details zu Ihrer hibernate.cfg.xml angeben.
Ich hatte diesen Fehler auch. Es wird ausgelöst, wenn Sie die Zuordnungsdatei (hibernate.cfg.xml) nicht in das Erstellungsverzeichnis kopieren.
Lösung:
Wie Alex InTechno sagte, könnte dies der Fehler in der Definition Ihrer Mapping-Dateien oder in zugeordneten Entitäten sein. Ich habe den gleichen Fehler erlebt, wenn ich vergessen habe, dass alle Eigenschaften in den zugeordneten Klassen als virtual definiert werden müssen.
%Vor% Ausnahme mit dem Text von PotentialRegungen
* Die Datenbank wurde nicht über die Datenbankmethode konfiguriert.
kann auch von der FluentConfiguration.BuildConfiguration () -Methode ausgelöst werden, wenn Ihre Zuordnungen falsch sind (d. h. * Zuordnungsklassen wurden nicht erfolgreich analysiert) und Sie haben die Datenbank nicht mit der .Database () -Methode konfiguriert.
Dies ist ein bisschen verwirrend, dass es nur beim Erstellen der Konfiguration entdeckt wird, nicht wenn diese Klassen aus der Assembly (von AddFromAssemblyOf & lt; & gt;) hinzugefügt werden.
Sie können überprüfen, ob Ihre * Map-Klassen erfolgreich in HBM konvertiert wurden, indem Sie eine Zeile ausführen m.FluentMappings.Add (typeof (YourMappedTypeMap)). ExportTo (@ "c: \ Temp \ fluentmaps"))
Ich hatte das gleiche Problem mit NUnit-Tests unter Resharper 8.1
Häkchen bei "ReSharper | Optionen | Werkzeuge | Komponententests | Benutze separate AppDomain für jede Assembly mit Tests" Checkbox fixed it
Nun, ich konnte diesen Fehler beheben, indem ich die Datei .cfg.xml in den Bin der aufrufenden App platzierte.
Aber jetzt bekomme ich einen weiteren Fehler: - (
FluentNHibernate.Cfg.FluentConfigurationException wurde nicht behandelt Nachricht: Beim Erstellen einer SessionFactory wurde eine ungültige oder unvollständige Konfiguration verwendet. Überprüfen Sie die PotentialReasons-Auflistung und InnerException für weitere Details.
* Die Datenbank wurde nicht über die Datenbankmethode konfiguriert.
Hier ist meine hibernate.cfg.xml
%Vor%Irgendwelche Gedanken?
Beim Versuch, die Datenbank in App.config und die Zuordnungen über Fluent NHibernate zu konfigurieren, habe ich auch eine FluentNHibernateException
erhaltenDer Link zum Anzeigen der Details wurde deaktiviert, so dass ich keine weiteren Informationen erhalten konnte. Nach stundenlangem Suchen fand ich schließlich heraus, dass meine Verbindungszeichenfolge einen Fehler hatte ("pasword = xyz;" anstelle von "password = xyz;")
Versuchen Sie, den Modifikator in set_id und set_sampellList zu schützen. zum Beispiel:
%Vor%und
%Vor%Ich beginne das
zu empfangen* Die Datenbank wurde nicht über die Datenbankmethode konfiguriert.
Fehlermeldung beim Versuch, eine Verbindung zu einer DB / 2-Datenbank herzustellen, ohne Änderungen an meinem Code vorgenommen zu haben. Nachdem ich überprüft hatte, dass die Konfigurationsdatei in das Build-Verzeichnis kopiert wurde und verifiziert wurde, dass mein XML wohlgeformt war und der Version 2.2 entsprach, ging ich schließlich zur Überprüfung der Datenbank, um sicherzustellen, dass sich nichts geändert hatte.
Es stellte sich heraus, dass das Passwort für das Verbindungskonto abgelaufen war. Es war nicht ungültig, noch war das Konto inaktiv - das Passwort war lediglich abgelaufen. Ich bin mir nicht sicher, warum das abgelaufene Passwort in solch einer seltsamen Fehlermeldung manifestiert.
Es scheint, als ob dieser Fehler eine Menge verschiedener Dinge sein kann. Ich bekam den gleichen Fehler und fand schließlich heraus, dass es war, weil ich eine unbenutzte Ansicht und ein Mapping vom Projekt ausgeschlossen hatte. Keine Ahnung, wie das den Fehler verursacht hat, aber sobald ich es wieder hinzugefügt habe, war der Fehler weg.
Tags und Links configuration c# nhibernate fluent-nhibernate