Nhibernate-basic-orm

提供:Dev Guides
移動先:案内検索

NHibernate-基本的なORM

この章では、いくつかの「基本的なマッピング」について説明します。最後の章から、データベーステーブルとC#クラス定義があることを知っています。 ここで、C#からデータベースへの変換とその逆の変換方法を説明するマッピングが必要です。

ソリューションエクスプローラーでプロジェクトを右クリックし、[追加]→[新しいアイテム]を選択して、新しいXMLファイルを追加しましょう。

新しいXMLファイル

名前フィールドに Student.hbm.xml を入力します。 NHibernateDemoApp になる既定のアセンブリを指定し、既定の名前空間も指定する必要があります。 これにより、このファイルで作成する他の多くの型定義が短縮されます。

以下は、XMLファイルでの実装です-

<?xml version = "1.0" encoding = "utf-8" ?>

<hibernate-mapping xmlns = "urn:nhibernate-mapping-2.2"
   assembly = "NHibernateDemoApp" namespace = "NHibernateDemoApp">

   <class name = "Student">
      <id name = "ID">
        <generator class = "native"/>
      </id>

      <property name = "LastName"/>
      <property name = "FirstMidName"/>
   </class>

</hibernate-mapping>

次にクラスを定義する必要があるもの。このクラスは* Studentクラス*になります。 次に、NHibernateにIDの名前(ID)を伝える必要があります。また、NHibernateにIDの生成方法を伝える必要があるため、ジェネレーターはネイティブタイプになります。

ネイティブタイプジェネレーターとは、SQL Serverのようなデータベースでは、ID列であるIDタイプを使用することを意味します。

次に行う必要があるのは、プロパティの名前を指定することです。 そのため、FirstNameとLastNameにさらに2つのプロパティを追加します。

現在、これらのマッピングファイルをアセンブリから読み取っています。 したがって、これを行うための好ましい方法は、これらの* HBMファイル*をアセンブリに焼き付けることです。 これを行うには、プロパティを設定するだけです。

ソリューションエクスプローラーでプロジェクトを右クリックして[プロパティ]を選択すると、デフォルトでコンテンツが選択されている[ビルドアクション]フィールド*が表示されます。

ビルドアクションフィールド

ドロップダウンリストから埋め込みリソースを選択します。

埋め込みリソース

したがって、これは実際に NHibernateDemoApp アセンブリ内にそのXMLファイルを埋め込みます。