This post is primarily for my fellow friends of local .net user group who asked for a rough guideline on how to get started with the latest Entity Framework Code First, I will try to keep it short and concise. I assume that it is going to be used in an ASP.NET MVC Application and behind the scene an IoC container would be used to glue everything. Before going into the implementation details there are certain design choice of mine, first persistence ignorance which means the domain model have no clue whether Entity Framework is used or any other ORM (nothing fancy here, out of the box the EF Code First has this support), next, I prefer to use class mapping which I think gives a bit more control comparing to decorating the domain classes with the data annotation attributes. Lets starts with a typical Category, Product, Customer and Order domain.
This is just a quick post to show how to use the new NHibernate built-in mapping instead of using Fluent NHibernate. It looks like the Fluent Hibernate is not compatible with the latest version of NHibernate that is available in NuGet. Although I am a fan of Fluent NHibernate but I am not sure about it’s future as the core NHibernate now has this similar kind of code based mapping instead of those boring xml files. I will show you the Fluent NHibernate Mapping first then the new mapping. This is extracted from one of my pet project that I am using to play with jQuery Mobile and Spine. Lets say I have a basic
User object which was mapped in Fluent NHibernate like the following: