Castle ActiveRecord 学习之 .net快速开发 (4)
来源:互联网 发布:三国杀陈群强度 知乎 编辑:程序博客网 时间:2024/05/16 11:23
四、框架的初始化
Castle ActiveRecord 在应用它的类之前必须初始化。只有在程序启用的时候初始一次。在这里我们假设我们开发的是WinForm应用程序,在窗体显示之前我们必须为它初始化。
ActiveRecord也需要配置一次信息来告诉它是用了哪一个数据库,怎么样和它会话。其实这就是NHibernate所用到的配置,所以你现在要决定在哪里保存这些配置。
ActiveRecord配置
我们可以选择不同的方式来配置ActiveRecord里的配置也可以选择保存到哪里。在文档里有更详细的说明。为了简单起见我们将使用一个简单的独立的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="Data Source=.;Initial Catalog=test;Integrated Security=SSPI" />
</config>
</activerecord>
注意:这里的配置是用的MS SQL Server 2005.如果你是用的其他的数据库你就需要改一下这里面的驱动了。详细怎么请参考 Xml Configuration Reference 文档。
现在我们就保存这个文档并命名为:appcofig.xml。下面一段代码我们来访问这个文件。
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
最后我们来通过这个配置文件来初始ActivRecord。我们也需要来指定ActiveRecord的检查类型。为此我们可以指定一个程序集或一个程序集数组。为了简单我们就只用一个数组类型:
(我在这里的理解是ActivRecord为我们提供了自己检查功能,可能包括语法和逻辑错误吧,如果只有几个类就单独的列出来,要有多个的话可以生成一个dll文件来做检查。这只是一个排错过程。。。)
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铺平了道路。
创建表
你可以使用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();
}
}
}
(就是在写好类的情况下自动创建表)
现在我的事情并未做完,我们要用上面的类开始自己真正的代码。我们可以展示出更多的方法来实现数据库的相关操作。
继续使用这些类。
- Castle ActiveRecord 学习之 .net快速开发 (4)
- Castle ActiveRecord 学习之 .net快速开发 (1)
- Castle ActiveRecord 学习之 .net快速开发 (2)
- Castle ActiveRecord 学习之 .net快速开发 (3)
- Castle ActiveRecord 学习之 .net快速开发 (5)
- C#.Net Castle ActiveRecord学习实践(1):快速入门指南
- Castle ActiveRecord学习实践(1):快速入门指南
- Castle ActiveRecord学习实践(1):快速入门指南
- Castle ActiveRecord学习实践(1):快速入门指南
- C#.Net Castle ActiveRecord学习实践(3):映射基础
- C#.Net Castle ActiveRecord学习实践(4):实现One-Many关系的映射
- C#.Net Castle ActiveRecord学习实践(9):使用ActiveRecord的一些技巧
- Castle ActiveRecord 学习 123
- Castle ActiveRecord【快速入门指南】
- C#.Net Castle ActiveRecord学习实践(2):构建配置信息
- C#.Net Castle ActiveRecord学习实践(5):实现Many–Many关系的映射
- C#.Net Castle ActiveRecord学习实践(6):延迟加载和使用Where子句
- C#.Net Castle ActiveRecord学习实践(7):使用HQL查询
- 无厘头
- 禁止网页另存为的代码
- Oracle中返回结果集的存储过程
- 值得学习的100种网站推广方法大全(二)
- 游戏外挂的编写原理
- Castle ActiveRecord 学习之 .net快速开发 (4)
- 值得学习的100种网站推广方法大全(三)
- Windows XP 下如何安装 SQL server 2000 企业版
- Oracle SQL 性能优化
- 我理解c#(二) :索引器
- 自定义组件同主应用程序之间的相互作用问题
- 获取表中的字段名
- 洗牌算法
- 如何在GridView中使用RadioButtons单选列,并且获取所选定RadioButton的值。