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);
分享到:
相关推荐
3. **事务管理**:在C#中, Castle ActiveRecord支持嵌套事务和独立事务,通过透明的事务管理,保证了数据的一致性和完整性。 4. **查询API**:Castle ActiveRecord提供了强大的查询API,包括简单的属性查询、复杂...
9. **Castle API**:CHM 文档中的 "Castle API" 部分可能包含了关于 Castle 库的其他组件,如 Windsor Container(依赖注入容器)和 DynamicProxy(用于创建代理类)的信息,这些都是 Castle ActiveRecord 的基础。...
了解如何定义ActiveRecord类,如何配置数据库连接,如何使用NHibernate查询语言,以及如何利用Castle的DI和动态代理特性,都将大大提升开发效率和代码质量。同时,熟悉这些文档也将有助于开发者在遇到问题时迅速找到...
本指南将深入探讨 Castle ActiveRecord 的核心概念、安装、配置以及基本用法。 1. **核心概念** - **ActiveRecord模式**:这是一种设计模式,它将业务对象和数据库记录绑定,使得对象可以直接操作数据库,而无需...
Castle.ActiveRecord.Generator 是一个基于 Castle ActiveRecord 框架的代码生成工具,它极大地简化了在.NET环境中使用ActiveRecord模式进行数据库操作的工作流程。ActiveRecord是面向对象持久化的一个设计模式,将...
Castle.ActiveRecord官方已经停止更新了,官方最高支持到NHibernate 3.1.0.4000,这个版本还有不少问题(例如:[NH-2213] - CLONE -Wrong parameters order in IQuery with SetParameterList and Filter)。...
10. **日志记录**:为了调试和性能分析,Castle ActiveRecord允许你配置日志输出,记录数据库访问、查询等信息。 通过阅读《Castle ActiveRecord手册》中的快速入门指南,你可以逐步了解并掌握这些概念,从而在.NET...
安装 Castle ActiveRecord 包后,需要在应用程序的配置文件(如 web.config 或 app.config)中配置数据源、连接字符串和 NHibernate 映射文件的位置。通常还需要配置 ActiveRecord 插件和 Session 工厂。 **5. 使用...
Castle.ActiveRecord 的资料很多,但是WINFORM的没几个,于此我专门写了个例子献给初学Castle.ActiveRecord的童鞋们,希望这篇文档能够帮到你们。这个例子使用的是ACCESS数据库,从单表,一对多,多对多,数据绑定,...
通过学习和研究这个项目,开发者可以掌握如何利用Castle ActiveRecord简化数据库操作,实现对象关系映射,以及更好地理解在实际项目中如何组织和管理数据层代码。这不仅对于提升个人技能,对于团队协作和项目维护都...
Castle.ActiveRecord 将这种理念带到了 .NET 平台,通过注解或者配置文件,开发者可以轻松地定义对象与数据库表之间的映射关系。 在 C# 中,使用 Castle.ActiveRecord 首先需要引入相关的 NuGet 包,例如 Castle....
本资源包含Castle.ActiveRecord源文件和整套使用Castle.ActiveRecord所需的类库。 -------------------------------------------------------- 升级后的部分关键类库版本号如下: Castle.ActiveRecord.dll:V2.1.2...
Wpf使用Castle.ActiveRecord的示例,Castle针对.NET平台下的一个非常优秀的开源项目,其对数据访问层封装的非常不错,使开发者能省下大量数据访问的工作量,此示例比较基础,适合入门的朋友参考下,所需要的控件已在...
Castle.ActiveRecord 3.0.0+NHibernate 3.0.0.4000+SQLite+NVelocity 服务器控件 组合案例 ... 通过DAO对各个表对象直接进行访问,一个简单的环境配置案例方便大家参考学习。 本案例带测试数据库,可以直接运行
Castle ActiveRecord 连接各种数据引擎的配置文件归纳
在这个"Castle AR学习文档"中,我们将深入探讨Castle ActiveRecord的核心概念、安装与配置、基本用法以及高级特性。 首先,Castle ActiveRecord的主要目标是将业务对象与数据库表进行映射,减少对SQL的直接依赖,...
找这个资源的人都知道这是干什么的,就不多说什么了,
Apress Pro ActiveRecord Databases with Ruby and Rails <br>Active Record has primarily been covered as a subsection, or maybe as a chapter or two, within a larger scoped book generally about the ...
在.NET环境中,Castle ActiveRecord是一个流行的对象关系映射(ORM)框架,它基于NHibernate并提供了对ActiveRecord设计模式的实现。ActiveRecord模式将数据存储的概念与业务对象紧密结合,使得开发者可以更方便地...