NHibernate Fluent - exception s'est produite lors de la configuration de la couche de persistance
J'utilise Couramment NHibernate avec un externe 'hibernate.cfg.xml' fichier.
Qui suit est le code de configuration où j'obtiens l'erreur:
var configuration = new Configuration();
configuration.Configure();
_sessionFactory = Fluently.Configure(configuration)
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Template>())
.BuildSessionFactory();
return _sessionFactory;
Mais Quand NHibernate est en train de configurer, je suis floowing erreur:
Une exception s'est produite lors de la configuration de la couche de persistance.
L'exception interne dit:
La ProxyFactoryFactory n'a pas été configuré.
Initialize " proxyfactory.factory_class la propriété de la session-factory section de configuration avec le NHibernate.ByteCode fournisseurs.
J'ai googlé et selon certaines solutions que j'ai trouvées, j'ai fait les modifications suivantes:
-
Ajouter les dll suivantes pour mon application bin:
Castle.Core.dll, Castle.DynamicProxy2.dll, NHibernate.ByteCode.Castle.dll
-
Ajouté follwing propriété dans hibernate.cfg.xml
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Château.ProxyFactoryFactory, NHibernate.ByteCode.Château</propriété>
Mais je suis arriver la même exception.
InnerException
(et éventuellement le InnerException
après que). Pouvez-vous regarder et de les inclure autant d'informations sur l'erreur que possible? Ils ont probablement révéler le véritable problème.
OriginalL'auteur iniki | 2009-10-27
Vous devez vous connecter pour publier un commentaire.
Le problème pourrait être dans votre hibernate.cfg.xml, vérifiez à l'aide de 2.2 version et si bien formé.
La cartographie devrait commencer comme ceci:
Avec l'erreur de poster, peut-être plus d'informations est fourni parce que l'erreur est assez générique pour la configuration de l'analyseur. Si non, peut-être vous pouvez donner plus de détails de votre hibernate.cfg.xml.
OriginalL'auteur Marc Climent
J'ai eu cette erreur de trop. Il se déclenche lorsque vous ne copiez pas le fichier de mappage (hibernate.cfg.xml) pour le répertoire de construction.
Solution:
OriginalL'auteur kkmct
Comme Alex InTechno dit, ce pourrait être l'erreur dans la définition de vos fichiers de Mappage ou dans les entités projetées. J'ai vécu la même erreur, quand j'ai oublié que toutes les propriétés de la mappé classes doivent être définies comme des virtuel.
OriginalL'auteur hoonzis
Exception avec le texte de PotentialReasons
* Base de données n'a pas été configuré par le biais de la Base de données de la méthode.
peut-être aussi jetés par la FluentConfiguration.BuildConfiguration() la méthode dans le cas où votre mappages sont mal (c'est à dire .*Carte des classes n'ont pas été correctement analysés) et que vous avez configuré la base de données de pas avec .Base de données ().
C'est un peu la confusion que l'on découvre seulement à l'étape de la configuration des bâtiments, et non lors de ces classes sont ajoutés à partir de l'assemblage (par AddFromAssemblyOf<>)
Vous pouvez vérifier si votre Carte de classes sont convertis avec succès HBM par l'exécution d'une ligne
m.FluentMappings.Ajouter(typeof(YourMappedTypeMap)).ExportTo(@"c:\Temp\fluentmaps"))
OriginalL'auteur Alex InTechno
J'ai eu le même problème avec NUnit tests sous Resharper 8.1
Tique "ReSharper | Options | Outils | Tests Unitaires | Utilisation AppDomain séparé pour chaque assemblée avec des tests" case à cocher, il fixe
OriginalL'auteur user2821044
Bien, j'ai été en mesure de résoudre cette erreur en plaçant .cfg.xml fichier bin de l'application appelante.
Mais maintenant, je reçois un autre message d'erreur 🙁
FluentNHibernate.Cfg.FluentConfigurationException était non gérée
Message: Un invalide ou incomplète de configuration a été utilisée lors de la création d'une SessionFactory. Vérifier PotentialReasons collection, et InnerException pour plus de détails.
* De la base de données n'a pas été configuré par le biais de la Base de données de la méthode.
Voici mon hibernate.cfg.xml
Toutes les pensées?
+1 pour James. Continuer à courir en bas de la Exceptinn de l'arbre jusqu'à ce que vous trouver quelque chose d'utile.
+1 pour James. J'ai eu cette erreur et regarda la InnerException à trouver qu'un nom de chaîne de connexion n'a pas été trouvé, et réalisé mon projet de test de l'Application.config était manquant de la chaîne de connexion dans mon web app Web.config.
OriginalL'auteur iniki
Essayer de configurer la base de données dans l'Application.config et les mappages par NHibernate Fluent, j'ai aussi eu un FluentNHibernateException disant
Le lien pour afficher les détails a été désactivé, donc je ne pouvais pas obtenir toute information complémentaire. La recherche pendant des heures j'ai enfin découvert que ma chaîne de connexion a une erreur ("mot de passe=xyz;" au lieu de "mot de passe=xyz;")
OriginalL'auteur Jakobus
Essayer de mettre modificateur protégé dans set_id et set_sampelList. par exemple:
et
OriginalL'auteur NarsilNarsilNarsilNarsil Narsi
- Je commencer à recevoir la
* Base de données n'a pas été configuré par le biais de la Base de données de la méthode.
message d'erreur lors de la tentative de connexion à un DB/2 base de données sans avoir fait aucune modification de mon code. Après avoir vérifié que le fichier de configuration a été copié dans le répertoire de construction et de vérifier que mon XML est bien formé et conforme à la version 2.2, je me suis finalement allé pour vérifier la base de données pour s'assurer que rien n'avait changé.
Il s'est avéré que le mot de passe pour la connexion de compte a expiré. Il n'était pas invalide, ni a été le compte inactif--le mot de passe était simplement expiré. Je ne suis pas sûr de savoir pourquoi le mot de passe expiré manifeste dans une étrange message d'erreur.
OriginalL'auteur Rob
Il semble que cette erreur peut être un tas de choses différentes. J'ai eu le même message d'erreur et, finalement pensé que c'était parce que j'avais exclu une partie inutilisée de la vue et de la cartographie du projet. Aucune idée de comment cela a été la cause de l'erreur, mais dès que je l'ai ajouté en arrière l'erreur a disparu.
OriginalL'auteur Darian Everett