1、如何配置数据连接,ActiveRecord初始化的几种方式!

来源:互联网 发布:淘宝客购买视频教程 编辑:程序博客网 时间:2024/06/06 01:11

内容属于标准的一些配置,不属于原创文章,只是把一些资料收集,整理在一起而已。

常见的几种数据库配置方案

Castle网站为我们提供的几个常见的配置示例,有的文章说,如果应用于Web 需要在<activerecord>节点配置 <activerecord isWeb="true">  其实不配也没有关系
1.MS SQLServer

<activerecord>

    
<config>

        
<add key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver" />

        
<add key="hibernate.dialect" value="NHibernate.Dialect.MsSql2000Dialect" />

        
<add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider" />

        
<add key="hibernate.connection.connection_string" value="Data Source=.;Initial Catalog=test;UID=sa;Password=sa" />

    
</config>

</activerecord>


2.Oracle

<activerecord>

    
<config>

        
<add key="hibernate.connection.driver_class" value="NHibernate.Driver.OracleClientDriver" />

        
<add key="hibernate.dialect" value="NHibernate.Dialect.OracleDialect" />

        
<add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider" />

        
<add key="hibernate.connection.connection_string" value="Data Source=dm;User ID=dm;Password=dm;" />

    
</config>

</activerecord>


3.MySQL

 

<activerecord>

    
<config>

        
<add key="hibernate.connection.driver_class" value="NHibernate.Driver.MySqlDataDriver" />

        
<add key="hibernate.dialect" value="NHibernate.Dialect.MySQLDialect" />

        
<add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider" />

        
<add key="hibernate.connection.connection_string" value="Database=test;Data Source=someip;User Id=blah;Password=blah" />

    
</config>

</activerecord>

 

4.Firebird

 

<activerecord>

    
<config>

        
<add key="hibernate.connection.driver_class" value="NHibernate.Driver.FirebirdDriver" />

        
<add key="hibernate.dialect" value="NHibernate.Dialect.FirebirdDialect" />

        
<add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider" />

        
<add key="hibernate.connection.connection_string" value="Server=localhost;Database=d:\db.fdb;User=SYSDBA;password=masterkey;ServerType=1;Pooling=false" />

        
<add key="hibernate.query.substitutions" value="true 1, false 0" />

    
</config>

</activerecord>

 

5.PostgreSQL

<activerecord>

    
<config>

        
<add key="hibernate.connection.driver_class" value="NHibernate.Driver.NpgsqlDriver" />

        
<add key="hibernate.dialect" value="NHibernate.Dialect.PostgreSQLDialect" />

        
<add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider" />

        
<add key="hibernate.connection.connection_string" value="Server=localhost;initial catalog=nhibernate;User ID=nhibernate;Password=nhibernate;" />

    
</config>

</activerecord>
 
 
 
关于初始化的几种方式:
 
1.初始化单个实体类
ActiveRecordStarter.Initialize( source, typeof(User) );

2.初始化多个实体类
    2.1.   ActiveRecordStarter.Initialize( source, typeof(Order),typeof(Product));
    2.2.   IConfigurationSource source = System.Configuration.ConfigurationManager.GetSection("activerecord") as     IConfigurationSource;
Type[] paramTypes = new Type[3];
paramTypes[0] = typeof(User1);
paramTypes[1] = typeof(Post);
paramTypes[2] = typeof(Blog);
ActiveRecordStarter.Initialize(source, paramTypes);

   3.   Assembly assembly = Assembly.Load("ARTest");
   ActiveRecordStarter.Initialize(assembly, source);

   4.    // 获取数据库连接配置
XmlConfigurationSource source = new XmlConfigurationSource(@"Config\ActiveRecord.xml");
      
// 载入程序集中所有 ActiveRecord 类。
ActiveRecordStarter.Initialize(Assembly.GetExecutingAssembly(), source);

   这样可以一次初始化所有的程序集里面的类。

 
原创粉丝点击