天天看點

castle .net之初級(一)簡單示例

配置方法:

(一)配置檔案

(1)單獨的配置檔案

MsSqlConfigurationSource.xml(用于配置mssql2000)

<?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=selftest;UID=sa;Password=123" />

  </config>

</activerecord>

(2)Webconfig中的配置

<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="ConnectionString = ${NorthWind}"/>

      <add key="proxyfactory.factory_class" value="NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle"/>

    </config>

(二)初始化

在Application_Start事件中初始化。

1,單獨的檔案:

Castle.ActiveRecord.Framework.Config.XmlConfigurationSource source = new Castle.ActiveRecord.Framework.Config.XmlConfigurationSource(Server.MapPath("MsSqlConfigurationSource.xml"));

Castle.ActiveRecord.ActiveRecordStarter.Initialize(source,typeof(Customer));

2,配置檔案中

Castle.ActiveRecord.Framework.IConfigurationSource source = System.Configuration.ConfigurationManager.GetSection("activerecord") as Castle.ActiveRecord.Framework.IConfigurationSource;

Castle.ActiveRecord.ActiveRecordStarter.Initialize(typeof(Users).Assembly, source);

(三)實體類

[ActiveRecord("Customer")]//表名

public class Customer : ActiveRecordBase

{

    public Customer()

    {

    }

    private int _unid;

    private string _FirstName;

    private string _LastName;

    [PrimaryKey(PrimaryKeyType.Assigned,"CustomerId")]

    public int Unid

        get { return _unid; }

        set { _unid = value; }

    [Property("FirstName")]

    public string FirstName

        get { return _FirstName; }

        set { _FirstName = value; }

    [Property("LastName")]

public string LastName

        get { return _LastName; }

        set { _LastName = value; }

    public static IList FindAll()

        return (IList)FindAll(typeof(Customer));

}

(四)調用

Customer.FindAll();

更多詳細内容請參見:

http://terrylee.cnblogs.com/archive/2006/04/03/365762.html

部落格園大道至簡

http://www.cnblogs.com/jams742003/

轉載請注明:部落格園

繼續閱讀