5、初始化framework

在你使用任何类之前,Castle ActiveRecord必须初始化 。初始化应该只做一次并且最好是在程序启动的时候。在我们的例子中,我们的例子是一个WinForm程序,应该在现实任何窗体之前初始化ActiveRecord。
ActiveRecord也需要一个简单的配置以告诉它你使用哪个数据库和怎样说他。事实上,这是NHibernate配置 在它初始化NHibernate之时ActiveRecord传递过去的。所以现在是时候决定拟向要在那里保持它的配置。
配制ActiveRecord
我们有一些选项来配置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=.;Initial Catalog=test;Integrated Security=SSPI" />
</config>

</activerecord>
现在保存文件为appconfig.xml.接下来代码创建一个XmlConfigurationSource来导入以上的配置:
namespace BlogSample
{
using System.Windows.Forms;

using BlogSample.UI;

using Castle.ActiveRecord;
using Castle.ActiveRecord.Framework.Config;

public class App
{
public static void Main()
{
XmlConfigurationSource source = new XmlConfigurationSource("appconfig.xml");
}
}
}

初始化ActiveRecord

最后,我们初始化ActiveRecord传递加载的配置。我们也需要指定ActiveRecord需要检查的类型。我们能通过制定一个程序集合,一个程序集组,或者一个类型组。为了简单起见,我们使用类型数组:
namespace BlogSample
{
using System.Windows.Forms;

using BlogSample.UI;

using Castle.ActiveRecord;
using Castle.ActiveRecord.Framework.Config;

public class App
{
public static void Main()
{
XmlConfigurationSource source = new XmlConfigurationSource("appconfig.xml");

ActiveRecordStarter.Initialize( source, typeof(Blog), typeof(Post), typeof(User) );
}
}
}

在这里,我们已经使用了自己的类型。
建立表
你可以让ActiveRecord建立表,如果你还没有创建的话:
public class App
{
public static void Main()
{
XmlConfigurationSource source = new XmlConfigurationSource("appconfig.xml");

ActiveRecordStarter.Initialize( source, typeof(Blog), typeof(Post), typeof(User) );

if (MessageBox.Show("Do you want to let ActiveRecord create the database tables?",
"Schema", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
ActiveRecordStarter.CreateSchema();
}
}
}

现在我们处理的只是部分的底层的,我们能启动使用我们的类的真正的代码。我们需要在类中创建更多的方法来执行更多的数据库相关操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值