亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

通俗易懂的Nhibernate教程(2)----配置之Nhibernate配置

2019-11-14 15:51:25
字體:
來源:轉載
供稿:網友

在上一個教程中,我們講了Nhibernate的基本使用!So,讓我們回顧下Nhibernate使用基本的步驟吧

1.NHibernate配置  ----- 這一步我們告訴了Nhibernate:數據庫連接字符串,實體類所在的程序集,映射文件所在的程序集………

2.創建實體類           -----  定義了數據實體  (O/RM中的O,Object)

3.創建映射文件        -----  定義了 實體和表 之間的映射關系 (O/RM中的M,Mapping)

4.創建數據庫和表     -----  創建 數據庫和表 (O/RM中的R,RelationDatabase)

………………

OK,在這一節里面,我將會詳細講解第一步:NHibernate配置

一:Nhibernate配置方式

NHibernate配置的方式有N種

第一:通過hibernate.cfg.xml配置文件,也就是上一個教程中所采用的配置方式,通過應用程序目錄的hibernate.cfg.xml文件

配置:

NHibernate.Cfg.Configuration config= new NHibernate.Cfg.Configuration().Configure();

第二:通過Web.config/App.config

配置節處理程序:NHibernate.Cfg.ConfigurationSectionHandler,Nhibernate

Web.config/App.config文件:

<?xml version="1.0" encoding="utf-8" ?><configuration>  <configSections>    <section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler,Nhibernate"/>  </configSections>  <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">    <session-factory name="XShopFactory">      <PRoperty name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>      <property name="connection.connection_string">        Server=.;initial catalog=XShopDb;Integrated Security=SSPI      </property>      <property name="dialect">NHibernate.Dialect.MsSql2008Dialect</property>      <property name="show_sql">true</property>      <mapping assembly="Mapping"/>    </session-factory>  </hibernate-configuration>    <startup>         <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />    </startup></configuration>

配置:同樣方式

NHibernate.Cfg.Configuration config= new NHibernate.Cfg.Configuration().Configure();

第三:通過代碼實現

//通過代碼實現IDictionary<string, string> props = new Dictionary<string, string>();props.Add("connection.provider", "NHibernate.Connection.DriverConnectionProvider");props.Add("connection.connection_string", "Server=.;initial catalog=XShopDb;Integrated Security=SSPI"); props.Add("dialect", "NHibernate.Dialect.MsSql2008Dialect"); var config = new Configuration().AddProperties(props).AddAssembly("Mapping").Configure();

 

附:property可選屬性

屬性名

用途

dialect

設置NHibernateDialect類名 - 允許NHibernate針對特定的關系數據庫生成優化的SQL ,

可用值:見下表

full.classname.of.Dialect, assembly

default_schema

在生成的SQL, 將給定的schema/tablespace附加于非全限定名的表名上。

可用值: SCHEMA_NAME

use_outer_join

允許外連接抓取,已棄用,請使用max_fetch_depth。

可用值: true | false

max_fetch_depth

為單向關聯(一對一, 多對一)的外連接抓?。?/span>outer join fetch)樹設置最大深度。

值為0意味著將關閉默認的外連接抓取

可用值:建議在0 3之間取值。

use_reflection_optimizer

開啟運行時代碼動態生成來替代運行時反射機制(系統級屬性)

 使用這種方式的話程序在啟動會耗費一定的性能,但是在程序運行期性能會有更好的提升。

注意即使關閉這個優化, Hibernate還是需要CGLIB. 你不能在hibernate.cfg.xml中設置此屬性。

這個屬性不能在hibernate.cfg.xml或者是應用程序配置文件<hibernate-configuration> 配置節中設置。 

可用值: true | false

bytecode.provider

指定字節碼provider用于優化NHibernate反射性能。 null代表完全關閉性能優化,

lcg用于輕量級的代碼動態生成,codedom基于CodeDOM代碼動態生成。

可用值: null | lcg | codedom

cache.provider_class

設置緩存實現類(實現ICacheProvider接口的類)

可用值: classname.of.CacheProvider, assembly

cache.use_minimal_puts

以頻繁的讀操作為代價, 優化二級緩存來最小化寫操作(對群集緩存有效)。

可用值: true | false

cache.use_query_cache

允許查詢緩存, 個別查詢仍然需要被設置為可緩存的.

可用值: true | false

cache.query_cache_factory

自定義實現IQueryCacheFactory接口的類名, 默認為內建的StandardQueryCacheFactory

可用值: classname.of.QueryCacheFactory, assembly

cache.region_prefix

二級緩存區域名的前綴。

可用值: prefix

query.substitutions

NHibernate查詢中的符號映射到SQL查詢中的符號 (符號可能是函數名或常量名字)。

可用值: hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC

query.substitutions true=1, false=0 將導致符號truefalse在生成的SQL中被翻譯成整數常量

show_sql

輸出所有SQL語句到控制臺.

可用值: true | false

hbm2ddl.auto

ISessionFactory創建時,自動檢查數據庫結構,或者將數據庫schemaDDL導出到數據庫。

使用 create-drop,在顯式關閉ISessionFactory時,將drop掉數據庫schema

可用值: create | create-drop

use_proxy_validator

是否啟用驗證接口或者是類是否可以使用代理,默認開啟。

(檢查實體類的屬性或者是方法是否被設置為Virtual

可用值: true | false

transaction.factory_class

自定義ITransactionFactory的實現,默認為NHibernate內建的AdoNetTransactionFactory

可用值: classname.of.TransactionFactory, assembly

 

附:數據庫方言:dialect

 

關系型數據庫方言備注
DB2NHibernate.Dialect.DB2Dialect 
DB2 for iSeries (OS/400)NHibernate.Dialect.DB2400Dialect 
IngresNHibernate.Dialect.IngresDialect 
PostgreSQLNHibernate.Dialect.PostgreSQLDialect 
PostgreSQL 8.1NHibernate.Dialect.PostgreSQL81Dialect方言在PostgreSQL8.1中現在支持FOR UPDATE NOWAIT了。
PostgreSQL 8.2NHibernate.Dialect.PostgreSQL82Dialect方言在PostgreSQL8.2中現在支持在 DROP TABLEDROP SEQUENCE中使用IF EXISTS關鍵字了。
MySQL 3 or 4NHibernate.Dialect.MySQLDialect 
MySQL 5NHibernate.Dialect.MySQL5Dialect 
Oracle (any version)NHibernate.Dialect.OracleDialect 
Oracle 9/10gNHibernate.Dialect.Oracle9Dialect 
Sybase Adaptive Server EnterpriseNHibernate.Dialect.SybaseDialect 
Sybase Adaptive Server AnywhereNHibernate.Dialect.SybaseAnywhereDialect 
Microsoft SQL Server 2000NHibernate.Dialect.MsSql2000Dialect 
Microsoft SQL Server 2005NHibernate.Dialect.MsSql2005Dialect 
Microsoft SQL Server 2005 Everywhere EditionNHibernate.Dialect.MsSqlCeDialect 
Microsoft SQL Server 7NHibernate.Dialect.MsSql7Dialect 
FirebirdNHibernate.Dialect.FirebirdDialectdriver_class設置為 NHibernate.Driver.FirebirdClientDriver啟用Firebird provider for .NET 2.0。
SQLiteNHibernate.Dialect.SQLiteDialectdriver_class設置為NHibernate.Driver.SQLite20Driver啟用System.Data.SQLite provider for .NET 2.0。
Ingres 3.0NHibernate.Dialect.IngresDialect 

 

--今天就暫時寫這么一點,下次繼續更新

 

表格來自 http://www.49028c.com/kiler/  @kiler前輩的NHibernate中文文檔

 

原創文章,轉載請注明出處:http://www.49028c.com/zhxj/

2015.08.23 --張小軍


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲福利视频免费观看| 亚洲丝袜av一区| 久久久av网站| 26uuu亚洲国产精品| 日韩美女中文字幕| 亚洲男人的天堂在线播放| 久久视频在线视频| 日本精品久久电影| 亚洲国产97在线精品一区| 成人av资源在线播放| 97av在线播放| 在线免费观看羞羞视频一区二区| 亚洲国产精品高清久久久| 青青久久av北条麻妃黑人| 日韩高清电影免费观看完整| 久久久免费av| 欧美成人在线影院| 欧美日韩亚洲成人| 全色精品综合影院| 国产精品日本精品| 亚洲黄页视频免费观看| 久久最新资源网| 国内精品久久久久久久久| 国产精品一区二区久久国产| 久久久久久久久久久成人| 日韩电影中文字幕在线| 成人免费观看网址| 日韩av电影中文字幕| 亚洲精品suv精品一区二区| 午夜免费在线观看精品视频| 亚洲男人天堂2019| 国语自产精品视频在线看抢先版图片| 日韩中文娱乐网| 色久欧美在线视频观看| 91亚洲精品久久久久久久久久久久| 91精品国产综合久久男男| 中文国产成人精品久久一| 日日噜噜噜夜夜爽亚洲精品| 精品久久久久久久久久久久| 欧美性受xxxx白人性爽| 日本高清视频一区| 欧美精品videossex性护士| 日韩一中文字幕| 欧美激情日韩图片| 91成人精品网站| 国产亚洲精品久久久久久777| 亚洲精品白浆高清久久久久久| 91黑丝高跟在线| 亚洲成avwww人| 精品欧美国产一区二区三区| 免费av在线一区| 国产欧美在线观看| 国内精品模特av私拍在线观看| 欧日韩不卡在线视频| 精品自在线视频| 亚洲第一精品夜夜躁人人躁| 一区二区三区www| 亚洲国产97在线精品一区| 日韩中文在线中文网三级| 日韩国产在线看| 欧美电影在线观看完整版| 国产午夜精品全部视频在线播放| 成人网中文字幕| 热99久久精品| 国产成人精彩在线视频九色| 日韩av片电影专区| 国产精品久久久久久中文字| 精品视频在线观看日韩| 欧美一级大片在线免费观看| 国产精品一区二区三区免费视频| 欧美性感美女h网站在线观看免费| 欧美高清无遮挡| 久久久久久有精品国产| 热门国产精品亚洲第一区在线| 视频一区视频二区国产精品| 国产精品视频网址| 91精品国产色综合久久不卡98| 国产性猛交xxxx免费看久久| 亚洲人成啪啪网站| 在线国产精品播放| 社区色欧美激情 | 欧美激情手机在线视频| 亚洲最大的av网站| 国产69久久精品成人| 亚洲国产精品国自产拍av秋霞| 成人性生交大片免费看视频直播| 亚洲人成啪啪网站| 久久在线免费视频| 2019中文字幕在线免费观看| 欧美精品一区二区三区国产精品| 久久天堂av综合合色| 精品久久久久国产| 久久国产精品久久久久久久久久| 亚洲日本欧美中文幕| 亚洲欧美日韩精品久久亚洲区| 97欧美精品一区二区三区| 欧美专区日韩视频| 欧美最猛性xxxxx亚洲精品| 欧美国产日韩免费| 亚洲人在线视频| 欧美一区二区三区……| 丁香五六月婷婷久久激情| 欧美日韩一区二区免费在线观看| 欧美成人午夜视频| 日韩欧美国产骚| 一区二区三区国产视频| 日韩最新av在线| 久久久久久综合网天天| 国产精品网红直播| 久久久久久久久中文字幕| 美女国内精品自产拍在线播放| 亚洲欧美日韩另类| 国产精品视频xxxx| 北条麻妃久久精品| 国产亚洲精品美女| 欧美日产国产成人免费图片| 久久久精品久久久| 亚洲成人a级网| 亚洲欧洲视频在线| 视频在线观看99| 中文字幕亚洲国产| 91色琪琪电影亚洲精品久久| 欧美日韩在线影院| 91免费在线视频| 亚洲欧美制服丝袜| 亚州欧美日韩中文视频| 国产精品久久久久久久久久尿| 国产玖玖精品视频| 欧美二区乱c黑人| 91在线播放国产| 欧美一区三区三区高中清蜜桃| 欧美精品videos另类日本| 国产成人精品视频| 中文字幕精品一区久久久久| 久久亚洲精品视频| 久久久国产精品视频| 亚洲中国色老太| 日韩欧美成人区| 国产成人精品一区二区| 国精产品一区一区三区有限在线| 精品偷拍一区二区三区在线看| 欧美精品videofree1080p| 中文字幕日本精品| 色播久久人人爽人人爽人人片视av| 九九精品在线播放| 色偷偷综合社区| 伊人久久精品视频| 岛国视频午夜一区免费在线观看| 国产精品高潮呻吟久久av无限| 久久精品国产一区| 国内外成人免费激情在线视频网站| 久久激情视频久久| 98午夜经典影视| 欧美极品少妇xxxxx| 欧美大片免费观看| 欧美亚洲日本黄色| 久久精品国产亚洲一区二区| 久久精品国产视频| 国产日韩欧美一二三区| 亚洲国产毛片完整版| 欧美国产日韩一区二区在线观看| 亚洲国产另类 国产精品国产免费| 国产精品成人一区| 色综合天天综合网国产成人网|