使用規(guī)則
為持久化字段聲明訪問器(getters和setters)。Cat為它的所有可持久化字段聲明了getters和setters訪問器。用訪問器來替代直接訪問字段是個好習(xí)慣。也可以通過字段(field)來使用NHibernate。屬性不一定需要聲明為public的。NHibernate可以對default、protected、internal或private的屬性執(zhí)行持久化.
實現(xiàn)一個默認(rèn)的構(gòu)造方法(constructor):Cat有一個顯式的無參數(shù)默認(rèn)構(gòu)造方法。所有的持久化類都必須具有一個默認(rèn)的構(gòu)造方法(可以不是public的),這樣NHibernate就可以使用Constructor.Invoke()來實例化它們.
提供一個標(biāo)識屬性(identifier property)(可選).
建議使用不是sealed的類(可選)。
優(yōu)勢
對象和關(guān)系數(shù)據(jù)庫之間的映射是用一個XML文檔(XML document)來定義的。這個映射文檔被設(shè)計為易讀的,并且可以手工修改。映射語言是以.NET為中心的,意味著映射是按照持久化類的定義來創(chuàng)建的,而非表的定義。在Hibernate中XML映射文檔可以手動定義,也有一些工具來輔助生成,包括Xdoclet、Middlegen和AndroMDA,但是在NHibernate文檔中并沒有上述的輔助工具,不過可以采用MyGeneration這樣的代碼生成工具來生成XML配置文檔。雖然NHibernate目前不是非常的成熟,還沒有達(dá)到實用化的水平,它經(jīng)常在負(fù)荷有些大的時候崩潰,但是它脫胎于在Java社區(qū)有著巨大影響力的Hibernate,而且NHibernate在實際應(yīng)用方面確實體現(xiàn)出了它的優(yōu)勢,基于上述原因NHibernate一定會被越來越多的開發(fā)人員所接受,而且一定會被標(biāo)準(zhǔn)化。
NHibernate功能
友善的VisualStudio:輕輕松松映射在VisualStudio中制定的基本C?;騐B.NET領(lǐng)域模型。不用特殊的父類或?qū)傩?。徹底支持承繼,部件和枚舉類型。迅速的開發(fā)進(jìn)度:從您的域?qū)嶓w模型形成數(shù)據(jù)庫表。支持全部時興的關(guān)系型數(shù)據(jù)庫。支持最復(fù)雜的舊計劃方案。
很多的組件和專用工具:全文檢索。應(yīng)用MicrosoftVelocity和Memcached開展集群范疇的緩存文件。業(yè)務(wù)流程認(rèn)證標(biāo)準(zhǔn)。ReSharper外掛。古城堡活動內(nèi)容。S#arp系統(tǒng)架構(gòu)。還有很多。
完善的小區(qū):NHibernate是一個受歡迎的,持續(xù)增長的ORM,有著閱歷豐富的開發(fā)者小區(qū)。用以數(shù)千個商業(yè)服務(wù)和開源軟件。
NHibernate不但承擔(dān)從.NET類到數(shù)據(jù)庫表(及其從.NET數(shù)據(jù)類型到SQL數(shù)據(jù)類型)的映射,還給予數(shù)據(jù)統(tǒng)計和搜索作用。這樣可以大大減少開發(fā)設(shè)計時長,而這種開發(fā)設(shè)計時長要花在SQL和ADO.NET中的手動式數(shù)據(jù)處理方法上。
上一篇:得力HEIC轉(zhuǎn)換器
下一篇:云譯通