Castle ActiveRecord環境搭建和配置

ActiveReocrd是Castle中一ORM框架,它對NHibernate做了進一步的封裝。
1.環境搭建

  a.程序集引用 (注意各程序集間版本兼容性)
    Castle.ActiveRecord.dll
    Castle.DynamicProxy2.dll
    Iesi.Connections.dll
    NHibernate.dll
    Nhibernate.ByteCode.Castle.dll
    /*
          這一項根據自己需要來選擇不同的延遲加載代理工廠
          NHibernate.ByteCode.Castle.dll
          NHibernate.ByteCode.LinFu.dll
          NHibernate.ByteCode.Spring.dll
    */
  b.配置
    可以在應用程序配置文件和單獨的配置文件中來進行配置,也可以通過編程方式配置
    配置項參考nhibernate hibernate.cfg.xml 
    在應用程序配置文件中配置

 

    <?xml version="1.0" encoding="utf-8" ?>
     <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.MsSql2005Dialect"/>
                <add key="connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>
                <add key="connection.connection_string" value="server=.;database=study;uid=sa;pwd=sa"/>
                <add key="show_sql" value="true"/>
                <add key="proxyfactory.factory_class" 
                     value="NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle" />
            </config>
        </activerecord>
    </configuration>
    加載配置
      IConfigurationSource source = ConfigurationManager.GetSection("activerecord") as IConfigurationSource;
      ActiveRecordStarter.Initialize(Assembly.GetExecutingAssembly(), source);
 

    在xml文件中配置

 

    <?xml version="1.0" encoding="utf-8" ?>
    <activerecord>
        <config>
            <add key="connection.driver_class" value="NHibernate.Driver.SqlClientDriver" />
            <add key="dialect" value="NHibernate.Dialect.MsSql2005Dialect"/>
            <add key="connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>
            <add key="connection.connection_string" value="server=.;database=study;uid=sa;pwd=sa"/>
            <add key="show_sql" value="true"/>
            <add key="proxyfactory.factory_class" value="NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle" />
        </config>
    </activerecord>

    加載配置
        IConfigurationSource source = new XmlConfigurationSource("XMLFile2.xml");
        ActiveRecordStarter.Initialize(Assembly.GetExecutingAssembly(), source);
    編程方式配置

    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("connection.connection_string", "UID=sa;Password=19811218;Initial Catalog=ARDemo;Data Source=.");
    properties.Add("proxyfactory.factory_class", "NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle");
    source.Add(typeof(ActiveRecordBase), properties);
    ActiveRecordStarter.Initialize(Assembly.GetExecutingAssembly(), source);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章