FluentMetadata is a project to provide Metadata and Validation to Entities and ViewModels.
One Goal of this implementaion is to Don’t Repeat Yourself. So you can define the Metadata (in a fluent way) on one place an use it on several other places like:
ASP.NET MVC 2 and 3 Preview 1
Entity Framework 4 CodeFirst with EF Feature CTP 4
NHibernate with FluentNHibernate
More to Come (WPF etc.)
Also the Metadata can easily copied to ViewModels for ASP.NET MVC 2 Application. So that you don’t to repeat the Metadata for the ViewModels.
Rule Based Model-Validation is also part of FluentMetadata, so that the Rule for Entities must only declared on one Place.
Albert Weinert
http://der-albert.com
http://wiki.github.com/DerAlbertCom/FluentMetadata/