Nhibernate-basic-orm
NHibernate-基本的なORM
この章では、いくつかの「基本的なマッピング」について説明します。最後の章から、データベーステーブルとC#クラス定義があることを知っています。 ここで、C#からデータベースへの変換とその逆の変換方法を説明するマッピングが必要です。
ソリューションエクスプローラーでプロジェクトを右クリックし、[追加]→[新しいアイテム]を選択して、新しい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ファイルを埋め込みます。