您的位置:首页 > 数据库 > Oracle

FluentNHibernate+NHibernate4.1+Oracle12c+VS2013 数据连接配置说明

2017-07-22 00:55 351 查看
最近有空研究了一下FluentNHibernate,配置SQL数据库连接比较容易,配置Oracle12c却花费了很多时间,找了大量的资料,国内关于FluentNHibernate+Oracle12c的资料非常少,最后在国外网站才找到解决配置文件问题。下面介绍一下解决过程。

1、nuget 程序包管理器安装FluentNHibernate.2.0.3.0、NHibernate.4.1.1.4000、Oracle.ManagedDataAccess.12.2.1100,目前都是最新版本。

2、hibernate.cfg.xml配置文件如下:

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">

  <session-factory>

    <!--需要installed the "Oracle.ManagedDataAccess" nuget package  Oracle.ManagedDataAccess.12.2.1100-->

    <property name="connection.driver_class">NHibernate.Driver.OracleManagedDataClientDriver</property>

    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider, NHibernate</property>

    <!-- 连接Ocacle方法1 不用解释,直接连接数据库-->

    <!--<property name="connection.connection_string">User Id=System;Password=Zjjw2017;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.176.105.104)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl)))</property>-->

    <!--连接Ocacle方式2 ORCL1为创建的实例 -->

    <property name="connection.connection_string">User ID=System;Password=Zjjw2017;Data Source=ORCL1</property>

    

    <property name="dialect">NHibernate.Dialect.Oracle12cDialect</property>

    <property name="command_timeout">10</property>

    <property name="show_sql">true</property>

    <property name="hbm2ddl.keywords">none</property>

    <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>

    <property name="proxyfactory.factory_class">NHibernate.Bytecode.DefaultProxyFactoryFactory,NHibernate</property>

  </session-factory>

</hibernate-configuration>

3、ISessionFactory

/*NHibernate  (hibernate.cfg.xml文件属性->生成操作:嵌入的资源)*/

FluentNHibernate.Cfg.Fluently.Configure(new NHibernate.Cfg.Configuration().Configure())

                            /*映射程序集  Customer(客户实体类) */

                          .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Customer>())

                     .BuildSessionFactory();

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息