Castle ActiveRecord 學習之 .net快速開發 (4)

四、框架的初始化
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();
        }
    }
}
(就是在寫好類的情況下自動創建表)
現在我的事情並未做完,我們要用上面的類開始自己真正的代碼。我們可以展示出更多的方法來實現數據庫的相關操作。
繼續使用這些類。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章