http://www.rainsts.net/default.asp?cat=1
有关Castle.ActiveRecord的介绍文章已经有不少了,本文不做详述。
配置文件
个人认为使用一个独立的配置文件可能更好点,App.config / Web.config 已经被塞入很多的内容了。
ActiveRecord.xml
<?xml version="1.0" encoding="utf-8" ?>
<activerecord>
<config>
<add key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver" />
<add key="hibernate.dialect" value="NHibernate.Dialect.MsSql2000Dialect" />
<add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider" />
<add key="hibernate.connection.connection_string" value="Data Source=localhost;Initial Catalog=a;UID=sa;Password=" />
</config>
</activerecord>
初始化代码
// 获取数据库连接配置
XmlConfigurationSource source = new XmlConfigurationSource(@"Config\ActiveRecord.xml");
// 载入程序集中所有 ActiveRecord 类。
ActiveRecordStarter.Initialize(Assembly.GetExecutingAssembly(), source);
// 删除数据库架构
//ActiveRecordStarter.DropSchema();
// 创建数据库架构 (该方法会删除同名表后再创建,没有必要在此之前调用 DropSchema() 方法。)
//ActiveRecordStarter.CreateSchema();
网上的例子大多使用 "ActiveRecordStarter.Initialize(source, typeof(User));" 这样的方式一个一个载入目标类型,大可不必。
-----------------
附:本文所有演示代码使用 2006-01-01 发布的 Castle ActiveRecord Beta3 版本。
Castle ActiveRecord 在发布 1.0 版本前可能有很多较大的变化,如演示代码无法编译,建议您参考最新版本的相关文档。