在项目中使用 Nhibernet 时,一定要将 配置文件 .xml 编译方式设置为 嵌入式资源,否则在运行项目时就会出现错误。
以下是hibernate.cfg.xml 的配置,在配置中使用的是 Mysql 数据库
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="dialect">NHibernate.Dialect.MySQLDialect</property>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.MySqlDataDriver</property>
<property name="connection.connection_string_name">ConnectionString</property>
<property name="connection.isolation">ReadCommitted</property>
<property name="show_sql">false</property>
<!-- 三种3种IoC框架动态代理方式,分别为:Castle框架、LinFu框架、Spring.Net框架。我们只要选择一种,在配置文件中配置proxyfactory.factory_class节点。-->
<property name="proxyfactory.factory_class"> NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle</property>
<!--<property name="proxyfactory.factory_class"> NHibernate.ByteCode.LinFu.ProxyFactoryFactory,NHibernate.ByteCode.LinFu</property>
<property name="proxyfactory.factory_class"> NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle</property>-->
<mapping assembly="NHibernate.Sample.Model"/>
</session-factory>
</hibernate-configuration>
其中 ConnectionString 是数据库连接字符串的名称, 定义在项目启动中的 web.config 中,定义如下:
<connectionStrings>
<!-- 数据库连接字符串 不可随意更改name 属性值 , 数据库连接字符connectionString属性可根据实际需要进行适当的修改-->
<add name="ConnectionString" connectionString="server=;database=;uid=;pwd=;" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
其中的 数据库对象映射文件 和对应的 mapping 文件 可以用专用的生成工具来生成 ,在此给大家推荐一个好用的生成工具: Nhibernate Mapping Genertor
下载地址: 链接: http://pan.baidu.com/s/1gd3WpKf 密码: fgwo
本博客是自己在学习和工作途中的积累与总结,仅供自己参考,也欢迎大家转载,转载时请注明出处。
浙公网安备 33010602011771号