惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
S
SegmentFault 最新的问题
D
DataBreaches.Net
H
Help Net Security
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
Martin Fowler
Martin Fowler
IT之家
IT之家
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
腾讯CDC
罗磊的独立博客
Y
Y Combinator Blog
阮一峰的网络日志
阮一峰的网络日志
云风的 BLOG
云风的 BLOG
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
WordPress大学
WordPress大学
Microsoft Security Blog
Microsoft Security Blog
J
Java Code Geeks
Vercel News
Vercel News
Hugging Face - Blog
Hugging Face - Blog
aimingoo的专栏
aimingoo的专栏
Stack Overflow Blog
Stack Overflow Blog
Recent Announcements
Recent Announcements
博客园 - 三生石上(FineUI控件)

博客园 - heros

理解线性回归 摆脱MarshalByRefObject和DynamicProxy显示接口 url不重复会造成asp.net的私有缓存占用内存过高 回“血泪八条---给中国IT教育培训机构” (因评论一再被银光小子删除,所以决定另开一文) android gif 图片显示问题 注意TDes8 -> Expand方法 简单的字符串相似度计算 [转]Carbide.VS 3.0.1的安装问题 - heros - 博客园 分享SharpDevelop Asp.net DevServer插件 算法题:装备合成 asp.net treeview 复选后展开的bug [转]WebService压缩 用C#实现win7下vs2008的激活(附学习交流代码) (译)Scheme简明教程8-递归 (译)Scheme简明教程7-词法变量 asp.net ModalDialog控件(非ajax tool kit) (译)Scheme简明教程6-条件语句 (译)Scheme简明教程5-Forms代码结构 (译)Scheme简明教程4-数据类型转换及其它类型
ActiveRecord环境搭建和配置
heros · 2010-03-02 · via 博客园 - heros

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