NHibernate は、Microsoft の .Net プラットフォームでオブジェクト リレーショナル マッピングのソリューションとして使用できる、非常に人気のあるフル機能のツールです。これは Hibernate のポートの 1 つです。このフレームワークを使用すると、オブジェクト指向のドメイン モデルを従来のリレーショナル データベースにマッピングできます。この C# の nhibernate 記事では、C# の NHibernate とは何か、C# でプロジェクトを作業および開発する方法、開始方法とその実装の確認方法を、例の助けを借りながら見ていきます。
NHibernate の主な機能は、C# または .Net などの別のプラットフォームのクラスを、MySQL などのリレーショナル データベースに存在するテーブルにマッピングすることです。これは、NHibernate が CLR のデータ型を SQL に変換していることも意味します。 NHibernate はデータのクエリと取得も行います。NHibernate がそれも処理するため、SQL コマンドを生成する必要はありません。したがって、開発者はオブジェクトの変換について心配する必要はありません。また、このアプリケーションは、パフォーマンスへのオーバーヘッドがほとんどなく、多くの SQL データベースに対して移植可能です。
NHibernate をインストールし、コーディングを行うエディターが必要です。さらに、アプリケーションで使用する MySQL などのデータベースも必要です。 Sublime text、visual Studio、Eclipse、またはその他のエディターを利用して、NHibernate プロジェクトを作成できます。最も推奨されるエディタは Visual Studio です。 Visual Studio の画面は以下のようになります –
次の方法を使用して NHibernate DLL をダウンロードできます –
NHibernate の zip ファイルを取得したら、それを特定のディレクトリ内の特定のフォルダに解凍するだけです。これで、そのディレクトリを参照するだけで、NHibernate DLL の参照をプロジェクトに簡単に追加できるようになります。
C# で NHibernate のプロジェクトを作成するのは非常に簡単です。必要なのは、システムにインストールされている Visual Studio コード エディターだけです。 Visual Studio のバージョンは 2008 以降である必要があることに注意してください。 C# で NHibernate を使用してプロジェクトを作成するために必要な手順は次のとおりです –
まず、データベースにテーブル (たとえば、Educba_writers) を作成します。 MySQL のテーブルは以下のようになります –
ここで、EducbaWriterHiber という名前の新しい Web プロジェクトを作成し、ディレクトリ http://localhost/EducbaWriterHiber に設定します。次に、NHibernate.dll の参照を追加します。 Visual Studio エディターを使用している場合は、プロジェクト内のすべての依存関係とライブラリが自動的にコピーされます。次に、以下に示すようにマッピング用の XML ファイルの作成に進みます –
<?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" auto-import="true" assembly="EducbaWriterHiber" namespace="EducbaWriterHiber.Models"> <class name="Educba_writers" table="Educba_writers" dynamic-update="true" xmlns="urn:nhibernate-mapping-2.2"> <cache usage="read-write"/> <id name="Id" column="writer_id" type="int"> <generator class="native" /> </id> <property name="f_name" /> <property name="l_name" /> <property name="email_id" /> <property name="mobile_number" /> <property name="join_date" /> <property name="domain_id" /> <property name="pay_amount" /> <property name="guide_id" /> <property name="department_id" /> </class> </hibernate-mapping>
ここで、新しい設定ファイル hibernate.cfg.xml を作成するか、Web にエントリを登録します。構成。その後、以下に示すように、Educbawriter という名前の POCO ファイルを作成できます –
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace EMPNHibernate.Models { public class Employee { public virtual int writer_id { get; set; } public virtual string f_name { get; set; } public virtual string l_name { get; set; } public virtual string email_id { get; set; } public virtual string mobile_number { get; set; } public virtual string join_date { get; set; } public virtual string domain_id { get; set; } public virtual string pay_amount { get; set; } public virtual string guide_id" /> public virtual string department_id" /> } }
次に、NHibernate セッション ファクトリ クラスを含むシングルトン クラスとして使用できる ASX ページのメイン クラスを作成します –
Create an entry in Web.config using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace EMPNHibernate.Models { public class Employee { public virtual int writer_id { get; set; } public virtual string f_name { get; set; } public virtual string l_name { get; set; } public virtual string email_id { get; set; } public virtual string mobile_number { get; set; } public virtual string join_date { get; set; } public virtual string domain_id { get; set; } public virtual string pay_amount { get; set; } public virtual string guide_id" /> public virtual string department_id" /> } } using System.Web; using NHibernate; using NHibernate.Cfg; namespace EducbaWriterHiber { public class EducbaWriterHiberSession { public static ISession OpenSession() { var sampleConfig = new Configuration(); sampleConfig.Configure(); ISessionFactory sampleSessFactory = sampleConfig.BuildSessionFactory(); return sampleSessFactory.OpenSession(); } } } public virtual string department_id" />
最後にセッションを終了します –
以下に示すように出力が変換されていることがわかります –
C# の NHibernate は、オブジェクト リレーショナル マッピングである ORM 用のオープンソースの無料フレームワークとして使用できます。これは .Net フレームワーク用に特別に設計されており、永続的なレイヤーの作成に役立ちます。
以上がC# での休止状態の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。