Fluent NHibernate

.NETでドメインモデルというと、次期Entity Framework(V2ではなくV4)が本命なのかなと思うのですが、NHibernateも発展しつつあります。

上のブログは、ASP.NET MVCチュートリアルアプリであるNerdDinnerFluent NHibernateで実装しています。このPart1はモデル部で、Part2(マッピング)、Part3(インフラストラクチャ)と続くみたいなので、Part3まで読めば、もう少しイメージがつかめるかなぁという感じです。

ちなみにFluent NHibernateは、XMLマッピングする代わりに、コードでマッピングします。コードはこんな感じ。

Id(x => x.Id)
  .Column("PersonId")
  .GeneratedBy.Assigned();

マッピングの詳細はこのWikiを参照できます。オートマッピングもあるので規約ベースで実装できそうです。C#らしく「x => x.Id」とかけるのでタイプセーフに書けるのが便利ですね。