MySQL添加映射连接到数据库时发生错误“FluentNHibernate.Cfg.FluentConfigurationException”

谯翔
2023-12-01
  1. using FluentNHibernate.Cfg;  
  2. using NHibernate;  
  3. using System;  
  4. using System.Collections.Generic;  
  5. using System.Linq;  
  6. using System.Text;  
  7. using System.Threading.Tasks;  
  8. using FluentNHibernate.Cfg.Db;  
  9.   
  10. namespace TaidouDatabase  
  11. {  
  12.     class NHibernateHelper  
  13.     {  
  14.         private static ISessionFactory sessionFactory = null;//单例模式  
  15.   
  16.         private static void InitializeSessionFactory()  
  17.         {  
  18.             sessionFactory = Fluently.Configure().Database(MySQLConfiguration.Standard.ConnectionString(  
  19.                 db => db.Server("localhost").Database("taidou").Username("root").Password("root"))).Mappings(x => x.FluentMappings.AddFromAssemblyOf<NHibernateHelper>()).BuildSessionFactory();  
  20.         }  
  21.         private static ISessionFactory SessionFactory  
  22.         {  
  23.             get  
  24.             {  
  25.                 if (sessionFactory == null)  
  26.                     InitializeSessionFactory();  
  27.                 return sessionFactory;  
  28.             }  
  29.         }  
  30.   
  31.         public static ISession OpenSession()  
  32.         {  
  33.             return SessionFactory.OpenSession();  
  34.         }  
  35.     }  
  36. }  
错误提示:“FluentNHibernate.Cfg.FluentConfigurationException”类型的未经处理的异常在 FluentNHibernate.dll 中发生 
其他信息: An invalid or incomplete configuration was used while creating a SessionFactory. Check PotentialReasons collection, and InnerException for more detail.

解决方法:将数据库MySQL.Data.dll文件手动拷贝到工程文件目录/bin/Debug目录上,就可连接上数据库。成功解决该问题

百度到其他一些问题及解决方案解决方案:

Error: 列“ReservedWord”不属于表 ReservedWords
解决方法:在hibernate.cfg.xml配置文件中加入<property name="hbm2ddl.keywords">none</property>

 类似资料: