Castle學習系列之二:Castle配置

說明:本系列文章參考自李會軍先生的Castle 開發系列文章,而後記錄本身在學習時遇到的一些問題,記錄之。html

主要內容web

一、Castle配置學習數據庫

二、初始化配置app

 

Castle配置學習ide

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="activerecord" type="Castle.ActiveRecord.Framework.Config.ActiveRecordSectionHandler, Castle.ActiveRecord"/>
  </configSections>
  <activerecord>
    <config>
      <add key="connection.driver_class" value="NHibernate.Driver.SqlClientDriver" />
      <add key="dialect" value="NHibernate.Dialect.MsSql2008Dialect" />
      <add key="connection.provider" value="NHibernate.Connection.DriverConnectionProvider" />
      <add key="proxyfactory.factory_class" value="NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle" />
      <add key="connection.connection_string" value="Data Source=localhost;Initial Catalog=Study;User ID=sa;Password=******" />
    </config>
  </activerecord>
  <system.web>
    <compilation debug="true"/>
  </system.web>
</configuration>

  此段配置適用於配置其NHibernate ADO.NET的。學習

  a、activerecord代表自定義節點,其類型(type)代表了ActiveRecord的實現程序集和命名空間。編碼

  b、connection.driver_class,定製IDriver的類型,能夠配置適用於不一樣類型數據庫的驅動。spa

  c、connection.provider,配置鏈接驅動提供程序。debug

  d、dialect,用於配置NHibernate的方言環境,能夠經過此配置使用數據庫的某些特性。代理

  e、proxyfactory.factory_class,新版本Castle須要添加此配置,用來配置代理工廠的工廠類。

  f、connection.connection_string,用來配置數據鏈接字符串。

 

初始化配置

  一、經過配置文件

//獲取web.config或者app.config中相應的配置信息
IConfigurationSource cfgSrc = System.Configuration.ConfigurationManager.GetSection("activerecord") as IConfigurationSource;
//初始化ActiveRecord ActiveRecordStarter.Initialize(cfgSrc,
typeof(User));

  二、經過硬編碼

InPlaceConfigurationSource source = new InPlaceConfigurationSource();
Hashtable properties = new Hashtable();

properties.Add("connection.driver_class", "NHibernate.Driver.SqlClientDriver");
properties.Add("dialect", "NHibernate.Dialect.MsSql2000Dialect");
properties.Add("connection.provider", "NHibernate.Connection.DriverConnectionProvider");
properties.Add("proxyfactory.factory_class", "NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle");
properties.Add("connection.connection_string", "Data Source=localhost;Initial Catalog=Study;User ID=sa;Password=******");

source.Add(typeof(ActiveRecordBase), properties);
ActiveRecordStarter.Initialize(source, typeof(ActiveRecordBase));

 

注意:

  一、對於不一樣類型的數據庫咱們只需更改dialect和connection.connection_string字節信息便可

  二、經常使用的dialect

MySQL

NHibernate.Dialect.MySQLDialect

Oracle (any version)

NHibernate.Dialect.OracleDialect

Oracle 9/10g

NHibernate.Dialect.Oracle9Dialect

Sybase

NHibernate.Dialect.SybaseDialect

Microsoft SQL Server 2000

NHibernate.Dialect.MsSql2000Dialect

 

 

再次說明:本系列文章參考自李會軍先生的Castle 開發系列文章,而後記錄本身在學習時遇到的一些問題,記錄之。

相關文章
相關標籤/搜索