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

來源:互聯網
上載者:User

四、架構的初始化

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.