「Fluent NHibernate/フルーエントマッピング」の版間の差分
imported>Administrator |
imported>Administrator |
||
| (同じ利用者による、間の12版が非表示) | |||
| 5行目: | 5行目: | ||
日本語の情報もほとんどない。 | 日本語の情報もほとんどない。 | ||
== | == 超入門 == | ||
=== エンティティを作る === | === エンティティを作る === | ||
まずエンティティとなるクラスを作る。 | まずエンティティとなるクラスを作る。 | ||
[[アプリケーション]]を作る[[プログラマー]]が直接操作するのはエンティティクラスとなる。 | |||
この[[アプリケーション]]を作る[[プログラマー]]がエンティティクラスをゴニョゴニョすることで、一般的なSELECT/UPDATE/INSERT/DELETE(俗にいう[[CRUD]])などのDB操作を実現することになる。 | |||
プロジェクトの中に「Entities」というディレクトリを作り、その中に格納しておくとわかりやすいと思う。 | プロジェクトの中に「Entities」というディレクトリを作り、その中に格納しておくとわかりやすいと思う。 | ||
| 23行目: | 26行目: | ||
次にマッピングを記述するクラスを作る。 | 次にマッピングを記述するクラスを作る。 | ||
マッピングクラスはClassMap<>クラスを継承して作る。 | マッピングクラスはClassMap<>クラスを継承して作る。 | ||
マッピングクラスは、Fluent NHibernateがエンティティがどういう設定かを記述するクラスであり、エンティティを利用する[[プログラマー]]が直接参照するようなものではない。 | |||
[[Fluent NHibernate]]の99%は、このマッピングクラスの記述方法を覚えることだと思われる。 | [[Fluent NHibernate]]の99%は、このマッピングクラスの記述方法を覚えることだと思われる。 | ||
| 47行目: | 52行目: | ||
=== アプリを作る === | === アプリを作る === | ||
次に実際にアプリケーションを作る。 | 次に実際にアプリケーションを作る。 | ||
Mappingの中身がFluentMappingsとなっているのが特徴。 | |||
オートマッピングの場合はAutoMappingsとなっていた部分である。 | |||
<source lang="csharp"> | <source lang="csharp"> | ||
| 86行目: | 94行目: | ||
} | } | ||
</source> | </source> | ||
== 基本 == | |||
=== Id === | |||
プライマリーキーとなる。 | |||
=== Map === | |||
プロパティとマッピングする。 | |||
=== References === | |||
多対1(many to one)を表す。 | |||
=== HasMany === | |||
1対多(one to many)を表す。 | |||
=== HasManyToMany === | |||
多対多(many to many)を表す。 | |||
=== HasOne === | |||
1対1(one to one)を表す。 | |||
== 応用、その他 == | |||
* [[Fluent NHibernate/フルーエントマッピング/自己参照]] | |||
* [[Fluent NHibernate/フルーエントマッピング/複合主キー]] | |||
* [[Fluent NHibernate/フルーエントマッピング/オートインクリメント]] | |||
* [[Fluent NHibernate/フルーエントマッピング/テキスト長]] | |||
* [[Fluent NHibernate/フルーエントマッピング/日付型]] | |||
* [[Fluent NHibernate/フルーエントマッピング/列挙型]] | |||
* [[Fluent NHibernate/フルーエントマッピング/NOT NULL]] | |||
<!-- | <!-- | ||
| 96行目: | 132行目: | ||
</source> | </source> | ||
--> | --> | ||
== 関連項目 == | == 関連項目 == | ||
* [[Fluent NHibernate]] | * [[Fluent NHibernate]] | ||
* [[Fluent NHibernate/データベース接続設定]] | |||
* [[Fluent NHibernate/オートマッピング]] | * [[Fluent NHibernate/オートマッピング]] | ||