Castle.ActiveRecord的ProxyFactory配置
生活随笔
收集整理的這篇文章主要介紹了
Castle.ActiveRecord的ProxyFactory配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前后差不多兩年沒使用過Castle.ActiveRecord做ORM了,也近兩年沒有關注Castle的版本變化了,最近關注了發現很多地方都改變了。今天在一個現有的小項目中嘗試添加Castle.ActiveRecord來做數據持久化操作,以前不需要做ProxyFactory配置,現在必須要ProxyFactory配置。使用到了NHibernate.ByteCode.Castle.dll組件。
?
ActoiveRecord的配置文件有了明顯的變化,需要配置ProxyFactory才能完成持久化操縱,詳細配置如下:
??<activerecord>????<config>
??????<add?key="connection.driver_class"?value="NHibernate.Driver.SqlClientDriver"/>
??????<add?key="dialect"?value="NHibernate.Dialect.MsSql2000Dialect"?/>
??????<add?key="connection.provider"?value="NHibernate.Connection.DriverConnectionProvider"?/>
??????<add?key="connection.connection_string"?value="Data?Source=SQL05;Initial?Catalog=testdb;uid=sa;pwd=12345;"?/>
??????<add?key="proxyfactory.factory_class"?value="NHibernate.ByteCode.Castle.ProxyFactoryFactory,?NHibernate.ByteCode.Castle"/>
????</config>
??</activerecord>
?
其他的使用基本上沒有變化,下面是一個ORM的對象配置。
[ActiveRecord("UserInfo")]public?class?UserInfo?:?ActiveRecordBase<UserInfo>
{
????[PrimaryKey(PrimaryKeyType.Identity,?"ID")]
????public?int?ID?{?get;?set;?}
????[Property("Sex",?Length?=?50)]
????public?string?Sex?{?get;?set;?}
????[Property("Name",?NotNull?=?true)]
????public?string?Name?{?get;?set;?}
}
?
?
初始化配置也還是和以前的版本使用方式一樣的,支持單個對象、多個對象、單個程序集、多個程序集等等不同方式的關系映射對象進行初始化。
protected?void?Application_Start(object?sender,?EventArgs?e){
????IConfigurationSource?source?=?ConfigurationManager.GetSection("activerecord")?as?IConfigurationSource;
????//ActiveRecordStarter.Initialize(source,?typeof(Entity.UserInfo));
????ActiveRecordStarter.Initialize(Assembly.Load("Entity"),?source);
}
由于關系映射對象繼承于ActiveRecordBase<T>泛型版本,因此可以直接基于關系映射對象使用數據持久化操縱行為,和老版本的使用方式是一樣的。
protected?void?Page_Load(object?sender,?EventArgs?e){
????if?(!IsPostBack)
????{
????????UserInfo?info?=?new?UserInfo();
????????info.Name?=?"zhangsan";
????????info.Sex?=?"男";
????????//插入info數據到數據庫中所映射的關系表
????????info.Create();
????}
}
?
? 至于ProxyFactory的具體作用暫時沒有深入研究,也不知道AR為什么會在新版本中添加這個功能,我想應該是想通過NHibernate對Castle的AR進行某些控制,暫時沒有時間研究,期待有研究過的朋友分享,謝謝。
總結
以上是生活随笔為你收集整理的Castle.ActiveRecord的ProxyFactory配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DB2基础学习一 DB2产品介绍
- 下一篇: page和其它几个内置对象(转)