异常1:无法从NHibernate.Driver.MySqlDataDriver创建驱动程序
“找不到请求的 .Net Framework Data Provider。可能没有安装.”
解决:
- 检查配置情况
MySQL配置方法:
<property name="connection.driver_class">NHibernate.Driver.MySqlDataDriver</property>
------------------------------
<property name="dialect">NHibernate.Dialect.MySQLDialect</property>
<property name="dialect">NHibernate.Dialect.MySQL5Dialect</property>
------------------------------
<property name="connection.connection_string">server=IP地址;database=wf_db;user id=wf_db;password=1;</property>
- 将Mysql.Data.dll添加到项目的bin文件夹中。特别注意一点: 它需要添加到主Web应用程序项目(或实际运行的项目)中,而不是仅添加到包含您的数据访问代码的标准库项目中。
- Mysql.Data.dll没有的话可以:右键引用 ---- 管理NuGet程序包 ---- 浏览 ---- 搜索MySQL.Data ---- 点击下载安装
NHibernate与Mysql的配置参考百度,NHibernate官网只有sql server的配置
Nhibernate 三种配置方式参考下面链接:https://www.cnblogs.com/luluping/archive/2010/06/15/1758561.html
异常2:NHibernate.MappingException:“Resource not found: Com.Sysjie.Model.User”
1.检查代码配置:
<mapping assembly="Com.Sysjie.Model" />
2.User.hbm.xml设置为如下:
异常3 :NHibernate.Cfg.HibernateConfigException:“An exception occurred during configuration of persistence layer.”内部异常:FileNotFoundException: 未能找到文件“E:\VSTEST\NHibernateTest\XShop\bin\hibernate.cfg.xml”。
解决1:把hibernate.cfg.xml文件放在项目bin文件夹内
解决2:在web.xml或项目启动的app.config添加下面配置:
<configuration>
<configSections>
<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate"/>
</configSections>
<hibernate-configuration configSource="hibernate.cfg.xml"/>
</configuration>