上一篇文章主要写了AR的一些简单的操作,目的是让大家对AR有一定的了解,今天我主要来说一下AR里的配置文件的使用以及几种常见数据库的配置。
     本文参考与:http://www.castleproject.org/index.php/ActiveRecord:Configuration_Reference

     首先引用Castle官方网站上的一句话:It's necessary to specify some information in order to use ActiveRecord.在配置文件里我们需要指定数据库的连接字符串,数据源驱动等信息。

   一、使用XML进行配置,如下:

我的ActiveRecord学习之路(二):配置文件<activerecord>
我的ActiveRecord学习之路(二):配置文件      
我的ActiveRecord学习之路(二):配置文件    
<config>
我的ActiveRecord学习之路(二):配置文件      
<add key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver" />
我的ActiveRecord学习之路(二):配置文件      
<add key="hibernate.dialect"                 value="NHibernate.Dialect.MsSql2000Dialect" />
我的ActiveRecord学习之路(二):配置文件      
<add key="hibernate.connection.provider"     value="NHibernate.Connection.DriverConnectionProvider" />
我的ActiveRecord学习之路(二):配置文件      
<add key="hibernate.connection.connection_string" value="Data Source=.;Initial Catalog=test;Integrated Security=SSPI" />
我的ActiveRecord学习之路(二):配置文件    
</config>
我的ActiveRecord学习之路(二):配置文件      
我的ActiveRecord学习之路(二):配置文件
</activerecord>
我的ActiveRecord学习之路(二):配置文件


    然后在我们的程序中应该这样初始化:

我的ActiveRecord学习之路(二):配置文件ActiveRecordStarter.Initialize( new XmlConfigurationSource(@"myfile.xml"), typeof(Company) );

二、使用应用程序的配置文件进行配置(web程序的Web.Config或应用程序的App.Config)
我的ActiveRecord学习之路(二):配置文件<configuration>
我的ActiveRecord学习之路(二):配置文件
我的ActiveRecord学习之路(二):配置文件    
<configSections>
我的ActiveRecord学习之路(二):配置文件        
<section name="activerecord"
我的ActiveRecord学习之路(二):配置文件                 type
="Castle.ActiveRecord.Framework.Config.ActiveRecordSectionHandler, Castle.ActiveRecord" />
我的ActiveRecord学习之路(二):配置文件    
</configSections>
我的ActiveRecord学习之路(二):配置文件
我的ActiveRecord学习之路(二):配置文件    
<activerecord>
我的ActiveRecord学习之路(二):配置文件      
我的ActiveRecord学习之路(二):配置文件      
<config>
我的ActiveRecord学习之路(二):配置文件        
<add key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver" />
我的ActiveRecord学习之路(二):配置文件        
<add key="hibernate.dialect"                 value="NHibernate.Dialect.MsSql2000Dialect" />
我的ActiveRecord学习之路(二):配置文件        
<add key="hibernate.connection.provider"     value="NHibernate.Connection.DriverConnectionProvider" />
我的ActiveRecord学习之路(二):配置文件        
<add key="hibernate.connection.connection_string" value="Data Source=.;Initial Catalog=test;Integrated Security=SSPI" />
我的ActiveRecord学习之路(二):配置文件      
</config>
我的ActiveRecord学习之路(二):配置文件      
我的ActiveRecord学习之路(二):配置文件    
</activerecord>
我的ActiveRecord学习之路(二):配置文件    
我的ActiveRecord学习之路(二):配置文件
</configuration>
我的ActiveRecord学习之路(二):配置文件

在程序中的初始化方法如下:
我的ActiveRecord学习之路(二):配置文件IConfigurationSource source = System.Configuration.ConfigurationSettings.GetConfig("activerecord"as IConfigurationSource; //this for .net 1.1
我的ActiveRecord学习之路(二):配置文件

我的ActiveRecord学习之路(二):配置文件IConfigurationSource source 
= System.Configuration.ConfigurationManager.GetSection("activerecord"as IConfigurationSource; //this for .net 2.0
我的ActiveRecord学习之路(二):配置文件

我的ActiveRecord学习之路(二):配置文件ActiveRecordStarter.Initialize( source, 
typeof(Company) );
我的ActiveRecord学习之路(二):配置文件
我的ActiveRecord学习之路(二):配置文件
//如果为多个实体初始化,Initialize()方法的第二个参数可以是一个Type[]类型,这个数组里存放需要初始化的实体类
我的ActiveRecord学习之路(二):配置文件
Type[] paramTypes = new Type[2];
我的ActiveRecord学习之路(二):配置文件paramTypes[
0= typeof(Company);
我的ActiveRecord学习之路(二):配置文件paramTypes[
1= typeof(People);
我的ActiveRecord学习之路(二):配置文件ActiveRecordStarter.Initialize( source,paramTypes);
我的ActiveRecord学习之路(二):配置文件
我的ActiveRecord学习之路(二):配置文件

三、动态配置(InPlace)
   这种方法主要用于动态创建应用程序的配置信息,这个时候就不能用XML了。
我的ActiveRecord学习之路(二):配置文件InPlaceConfigurationSource config = new InPlaceConfigurationSource();
我的ActiveRecord学习之路(二):配置文件Hashtable myproperties 
= new Hashtable();
我的ActiveRecord学习之路(二):配置文件
//在myproperties中就可以动态加入一些配置信息了
我的ActiveRecord学习之路(二):配置文件
myproperties.add("","");
我的ActiveRecord学习之路(二):配置文件config.Add( 
typeof(ActiveRecordBase), myproperties );
我的ActiveRecord学习之路(二):配置文件ActiveRecordStarter.Initialize( source, 
typeof(Company),typeof(People) );

四、几种常见数据库的配置(摘自Castle官方网站)
1、SQL Server

我的ActiveRecord学习之路(二):配置文件<activerecord>
我的ActiveRecord学习之路(二):配置文件      
我的ActiveRecord学习之路(二):配置文件    
<config>
我的ActiveRecord学习之路(二):配置文件      
<add key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver" />
我的ActiveRecord学习之路(二):配置文件      
<add key="hibernate.dialect"                 value="NHibernate.Dialect.MsSql2000Dialect" />
我的ActiveRecord学习之路(二):配置文件      
<add key="hibernate.connection.provider"     value="NHibernate.Connection.DriverConnectionProvider" />
我的ActiveRecord学习之路(二):配置文件      
<add key="hibernate.connection.connection_string" value="Data Source=.;Initial Catalog=test;Integrated Security=SSPI" />
我的ActiveRecord学习之路(二):配置文件    
</config>
我的ActiveRecord学习之路(二):配置文件      
我的ActiveRecord学习之路(二):配置文件
</activerecord>
我的ActiveRecord学习之路(二):配置文件

2、Oracle
我的ActiveRecord学习之路(二):配置文件<activerecord>
我的ActiveRecord学习之路(二):配置文件      
我的ActiveRecord学习之路(二):配置文件    
<config>
我的ActiveRecord学习之路(二):配置文件      
<add key="hibernate.connection.driver_class" value="NHibernate.Driver.OracleClientDriver" />
我的ActiveRecord学习之路(二):配置文件      
<add key="hibernate.dialect"                 value="NHibernate.Dialect.OracleDialect" />
我的ActiveRecord学习之路(二):配置文件      
<add key="hibernate.connection.provider"     value="NHibernate.Connection.DriverConnectionProvider" />
我的ActiveRecord学习之路(二):配置文件      
<add key="hibernate.connection.connection_string" value="Data Source=dm;User ID=dm;Password=dm;" />
我的ActiveRecord学习之路(二):配置文件    
</config>
我的ActiveRecord学习之路(二):配置文件      
我的ActiveRecord学习之路(二):配置文件
</activerecord>
我的ActiveRecord学习之路(二):配置文件

3、MySql
我的ActiveRecord学习之路(二):配置文件<activerecord>
我的ActiveRecord学习之路(二):配置文件      
我的ActiveRecord学习之路(二):配置文件    
<config>
我的ActiveRecord学习之路(二):配置文件      
<add key="hibernate.connection.driver_class" value="NHibernate.Driver.MySqlDataDriver" />
我的ActiveRecord学习之路(二):配置文件      
<add key="hibernate.dialect"                 value="NHibernate.Dialect.MySQLDialect" />
我的ActiveRecord学习之路(二):配置文件      
<add key="hibernate.connection.provider"     value="NHibernate.Connection.DriverConnectionProvider" />
我的ActiveRecord学习之路(二):配置文件      
<add key="hibernate.connection.connection_string" value="Database=test;Data Source=someip;User Id=blah;Password=blah" />
我的ActiveRecord学习之路(二):配置文件    
</config>
我的ActiveRecord学习之路(二):配置文件      
我的ActiveRecord学习之路(二):配置文件
</activerecord>
我的ActiveRecord学习之路(二):配置文件
关于AR的配置就讲这么多了,希望对初学者有一定的帮助。
还有需要注意的一点,我们在写程序的时候对AR框架的初始化一般都放在global.asax.cs中的Application_start()方法里,如下:
我的ActiveRecord学习之路(二):配置文件public class GlobalApplication : HttpApplication

相关文章: