Castle ActiveRecord起步

本文详细介绍了在学习CastleActiveRecord过程中遇到的问题及解决方法,包括如何正确引用DLL、配置文件修改、启动代码实现创建数据库表等关键步骤。特别强调了在连接SQLServer2008时的配置细节,并提供了通过代码启动时创建数据库表的实践方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于今天才开始学习Castle ActiveRecord,碰到一些问题,不确定是否如为自己所理解的那样,但按以下方法处理已完成程序功能。

由于Castle ActiveRecord官方下载的版本与其官方文档并不完全对应,所以,按其ActiveRecord Getting Started所示内容完成代码会有一些问题:

1.引用的程序集用http://www.castleproject.org/castle/download.html 中的ActiveRecord 3.0 RC - March 14th, 2011,把所有DLL都引用进去,除了

Castle.ActiveRecord.Web.dll没有引用到WINFORM程序中。

2.配置文件中需要添加另一条:

<add key="proxyfactory.factory_class" value="NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle"/>
最终形成:

<?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="Data Source=.;Initial Catalog=testDB;Integrated Security=SSPI" />
    <add key="proxyfactory.factory_class" value="NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle"/>
  </config>
</activerecord>
其中
<add key="dialect" value="NHibernate.Dialect.MsSql2005Dialect" />
可直接用于连接sql server 2008

3.如果需要使用代码通过程序启动时执行代码:

ActiveRecordStarter.CreateSchema();
来创建数据库表,则必须在所有的表对应类中,指定主键属性,而且对于标识列还需要使用属性:

[PrimaryKey(PrimaryKeyType.Identity, "字段名")]
 来保证能正确创建表

转载于:https://www.cnblogs.com/Rising/archive/2012/02/27/2370526.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值