Geeks With Blogs
Code Persona About Code And More
This is the kind of post that would usually go on my "other Blog" since that's where most of my technology posts go. Also,  that is where I like to play it safe with what I write :).

But since I've been blogging about the Open source thingy that I've started working on (I still can't believe I've already started wasting my weekends behind coding for a self commitment :)) I am going to go ahead and post all related material to that initiative here.

Code-Smith (this is a Paid Product with 30 day trial) is one of the tools I've used in more than one professional client projects now. I've been using it back from the days when the basic version was free and I just don't have enough good things to say about it. I Love this beautiful template based code generator.

Another framework that I've loved using in Past for professional projects was Rocky Lhotka's CSLA Business Objects Framework.

Code Smith now has built in templates to generate CLSA Business objects and I've always recommended this Duo (CodeSmith + CSLA) to Anyone who wanted to build an Enterprise Level Data Access Layer with SQL Server.

However, since I started working on this open source initiative, where Data Access Didn't play a major part in the framework that I was writing. In fact, my database consists of just 3 tables that I use primarily for saving settings. In this Scenario CSLA with Remoting sounded like a little bit of an overkill from the prospective of Maintenance.

This is when I was introduced to NetTires and it was pretty much love at first sight. NetTires generates code that let's me use Strongly Typed Entities for Data Access. It generates code which in turn uses Microsoft Enterprise Library. The generated code looks clean, reliable and high in quality.

Some of the other features (evident in 10 minutes of playing with the framework include)  support for Deep-Loads (So, if you have Student and Student-Marks table in one-to-many relationship you "can" get a Student object that also has Marks information loaded in a Collection within that object.) Deep-Saves, Data Caching, Elegant use of generics etc.

It uses Nullable Types quite elegantly, so all optional fields in database are basically Nullable types e.g. (int? CustomerAge - which the same as saying Nullable<CustomerAge>). There are a few classical problems with transactions and Identity columns (I posted about this on my "other blog" in a different post) which it addresses pretty elegantly.

If You want to write truely Distributed Application where Data Access is the life and soul of your application You might want to consider CSLA or evaluate NetTires a little more rigorously to compare the Pro's and Con's of both. (Maybe, I'll do this someday).

But, If you're in a hurry, need to write a quick Data Access Layer or Data Access is not the bread-and-butter of the application you're writing I HIGHLY Recommend NetTires! I've used it for a week now and I am LOVING it! As I use it more and more I am leaning to believe that maybe I could recommend it in a considerably sized professional project too.

Posted on Friday, September 8, 2006 6:16 PM | Back to top

Comments on this post: Cool Tools For DotNet Data Access Layer [Highly Recommended]

No comments posted yet.
Your comment:
 (will show your gravatar)

Copyright © Rajiv Popat | Powered by: