by Frank Perez
August 23, 2012
Since my first ASP.NET MVC, I've always used the Data Annotation Model Binder to perform simple validations like the following:
- Range – validate whether the value of a property falls between a specified range of values.
- Regular Expression – validate whether the value of a property matches a specified regular expression pattern.
- Required – mark a property as required.
- String Length – specify a maximum length for a string property.

The problem is that if you like to design "Database First" like me, it can take a significant amount of time to build all of the classes later. Since I'm the kind of person who hates tedious work, I created my own utility for building the classes called MetaData Class Generator. MetaData Class Generator is a console application for generating Data Annotation classes based on an existing SQL Server Database.
If you would like a copy of this application, you can download the latest version using the link below. The following is a list of important notes:
- This application requires the Microsoft .NET Framework 4 Client Profile.
- This application has only been tested with SQL Server 2008 R2. Other versions may work, but there could be issues mapping newer data types.
- Be sure to read the README.TXT file for instructions on running the application.
- I'd love to hear any feedback. What do you like, what do you not like, what kind of features would you like to see in future versions?
Links:
Download MetaData Class Generator http://pfsolutions-mi.com/Product/MetaDataClassGenerator
Using Data Annotations for Model Validation http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-6
Microsoft .NET Framework 4 Client Profile http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5765d7a8-7722-4888-a970-ac39b33fd8ab
fbeaa73a-bb0f-4d7f-b305-4a4c8f291f69|1|5.0
Keywords:
Filed Under: .NET | MDG
by Frank Perez
August 23, 2012
Earlier this year at the CodeMash conference in Sandusky, Ohio I heard about a NuGet Package called Fluent Migrator. Fluent Migrator is a database migration framework that uses classes for performing database migrations. Up until this point, the way I typically handled database migrations was to write T-SQL scripts or use a commercial application. So when I learned that I could accomplish database migrations using simple classes in .NET, I was intrigued.

The image above demonstrates how to use a Fluent Migrator class to perform a database migration (create table, create index, create foreign key, etc.). There are also similar expressions for deleting columns, altering tables, altering columns, and etc. I'm not going to go into all the details about how to use the framework. I think there is enough information on the project site to help anyone get started.
The one problem I found when using the Fluent Migrator framework is the barrier to getting started when the database already exists. Fluent Migrator does not have any kind of class generate utility that can build the initial class with all of the necessary create schema, table, column, and etc. commands. That means I would have to either use a T-SQL script of the current structure and then use Fluent Migrator classes for any future migrations. Or I could spend a significant amount of time building the initial class myself.
Since I'm the kind of person who hates monotonous work and thinking that I would want to use Fluent Migrator for several existing projects, I created my own utility for building the class called Fluent Migrator Class Generator. Fluent Migrator Class Generator is a console application for generating a Fluent Migrator class based on an existing SQL Server Database.
If you would like a copy of this application, you can download the latest version using the link below. The following is a list of important notes:
- This application requires the Microsoft .NET Framework 4 Client Profile.
- This application has only been tested with SQL Server 2008 R2. Other versions may work, but there could be issues mapping newer data types.
- Be sure to read the README.TXT file for instructions on running the application.
- I'd love to hear any feedback. What do you like, what do you not like, what kind of features would you like to see in future versions?
Links:
Download Fluent Migrator Class Generator http://pfsolutions-mi.com/Product/FluentMigratorClassGenerator
Fluent Migrator Project Site http://nuget.org/packages/FluentMigrator
Microsoft .NET Framework 4 Client Profile http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5765d7a8-7722-4888-a970-ac39b33fd8ab
852fbb01-5c8b-4a5f-8d37-7b1532e453a3|0|.0
Keywords:
Filed Under: .NET | FMG