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

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

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

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);

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

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值