NHibernateベース


本文はNHibernateが何であるかを紹介しないで、これはその助けの中でとてもはっきり言って、本人のダウンロードの中でv 2を提供します.0.0のヘルプドキュメントは無料でダウンロードできます.アドレスはhttp://down.51cto.com/data/224472.
コンフィギュレーション
本人が使用するLinFuダイナミックエージェント、NHibernateのバージョンはv 2.2,工事中にIesiを引用する.Collections.dll、LinFu.DynamicProxy.dll、log4net.dll、NHibernate.ByteCode.LinFu.dll、NHibernate.dllは5つのdllで、次にwebを構成します.configは以下の通りです.

  
  
  
  
  1. <?xml version="1.0"?> 
  2. <configuration> 
  3.     <configSections> 
  4.         <section name="hibernate-configuration"  
  5. type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate"/> 
  6. ... 
  7.     </configSections> 
  8.     <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> 
  9.         <session-factory> 
  10.             <property name="connection.provider">
  11. NHibernate.Connection.DriverConnectionProvider</property> 
  12.             <property name="dialect"> 
  13.                 NHibernate.Dialect.Oracle10gDialect 
  14.             </property> 
  15.             <property name="connection.driver_class"> 
  16.                 NHibernate.Driver.OracleClientDriver 
  17.             </property> 
  18.             <property name="connection.connection_string"> 
  19.                 Data Source=sid;User ID=username;Password=passwd
  20. Persist Security Info=true;Unicode=True</property> 
  21.             <property name="proxyfactory.factory_class"> 
  22. NHibernate.ByteCode.LinFu.ProxyFactoryFactory, 
  23. NHibernate.ByteCode.LinFu 
  24.             </property> 
  25.             <property name="show_sql">true</property> 
  26.             <mapping assembly="GXSN.CMS.NH.Oracle"/> 
  27.         </session-factory> 
  28.     </hibernate-configuration> 
  29. </configuration> 

なお、GXSN.CMS.NH.Oracleは、XMLが存在するプロジェクトをマッピングするプロジェクト名です.
基本的な使い方
構成が完了すると、一般的な実際の応用過程では、NHibernateは単独で1つのプロジェクトにカプセル化され、NHibernateデータアクセス補助クラスとして、本人のダウンロードで参考プロジェクトが提供され、ダウンロードアドレスを参照してください.http://down.51cto.com/data/220594このプロジェクトの名前はGXSNです.DataAccess.NH.Util、以下の図を構成します.


NHibernateHelper:NHibernateデータアクセス支援汎用単品クラス、クエリーと非クエリー機能を実現し、NHibernateライブラリに依存することを完了し、NHibernateライブラリ内蔵インタフェースはこれで終了し、システムの他の部分に汚染を与えず、システム全体がNHibernateライブラリに依存するのではなく、カスタムOperクラスとenumOperation列挙に依存することをよりよく行う.システムの今後のデータアクセスにおける進化に条件を提供する.Oper:ビジネスエンティティと操作タイプを含む原子操作記述汎用クラスで、enumOperation列挙に依存する.EnumOperation:操作列挙.
NHibernateデータを参照して補助クラスにアクセスした後、学生情報の追加でXMLマッピングファイル(XMLマッピングファイルについてヘルプドキュメントを参照)を作成すると、次のコードで完了します.

  
  
  
  
  1. GXSN.DataAccess.NH.Util.NHibernateHelper<GXSN.CMS.Entity.ContentClassInfo>.
  2. Instance.NonQuery(GXSN.DataAccess.NH.Util.enumOperation.Save, studentInfo); 

P.S.は、使用中にコードの相互依存関係を管理する必要があります.そうしないと、システムの進化に災難をもたらす可能性があります.そしてNHは最終的にadoに翻訳された.Netで実行すると、個人的な感覚はadoとは限らない.Netは速いですが、使いやすいところもあるので、