ORM Revisited

Published Tue, May 11 2004 19:58 | William

I've written about this a few times, but if you haven't been exposed to OR/M (Object Relational Mapping) tools then I'd recommend checking them out.  As a developer and data access nut, I had a lot of trouble 'letting go' and trusting a product to do a lot of the work for me.  But I've recently become a true convert.  The simple truth is that ORM has come of age and is ready for prime time.  Moreover, data access doesn't always lend itself to a generic paradigm and coding the same stuff over and over just to accomodate subtle nuances doesn't make sense.

IMHO, there are two primary players in this market although the products are somewhat different.  The first of them is Deklarit and the second is LLBLGenPro .  I can just about guarantee that you'll fall in love with either of these products.  The Deklarit team has a product that's pretty much an entire app building package which includes support for SQL Server CE which is nothing short of amazing.  LLBLGenPro bills itself as “... a complete data-access tier and business façade/support tier for you (in C# or VB.NET), using an existing database schema set”.  LLBLGenPro claims it can cut development time by 50% and from my experience, that's not marketing hype, it's a claim that can be backed up.  If you aren't familiar with Frans Bouma who's LLBLGenpro's creator, he's probably one of the more intriguing minds in .NET Development and his product reflects that.

About a year ago, I wrote a basic Human Resources application for my company.  It was a rewrite of an Access Project that was done before me.  I was asked to make some changes to it, and I was really trying not to learn Access.  I had been playing with ADO.NET for about a year at that point and I wanted to see how long it would take to redo this app without using the visual tools.  Outside of the reports, i got the project done in about 6 hours total.  Of those 6 hours, 5 of them revolved around manipulating the databindings.  While I had a fair amount of experience with the ADO.NET object model, I hadn't done a whole lot of GUI development so this was a bit of a challenge.  Afterwards, I made some additional changes to the app and it created and changed enough of the functionality that it was essentially a different product.  So I probably had about 20 hours in the thing.  I spent about 4 hours writing the reports usign Crystal Reports , which , going to .NET was a bit strange at first.  Not having the Preview support without doing a compile was a real step backward. 

My first experience with ORM was with Objectz and I didn't like it.  That's not a criticism of the product, I probably just wasn't willing to loosen my grip.  But things  changed and I came across Deklarit.  I played with Deklarit and walked through it's examples for a total of three hours just trying to feel my way around it before trying to rewrite the program.  So, with very (VERY) little exposure, I got cracking.  I had everythign done, excluding reports in 45 minutes.  I'm probably a lot better developer than I was a year ago, so that accounts for some of the difference but that some is small because I didn't have to write much code.  So am I claiming that you can do 20 hours of traditional ADO.NET development with Deklarit in 45 minutes with very little exposure to it?  Actually, yes, I am.  Granted that this app was fairly straightforward, with about 12 tables most of which are lookups and the entirety of the complexity found in the filtering, searching and UI techniques.  However, I rebuilt it and got to the point where I minimized the trips to the DB dramatically and have a much, MUCH cleaner implementation.  I have yet to even really begin in my Deklarit learning curve, but I think in most instances, you'll see similar results.  That's testimony to the quality of the product.

I also decided to try it with LLBLGenPro.  This took about 2 hours to do the same things, but I had even less experience with it than Deklarit.  Moreoever, I was able to use the code in LLBLGenpro and just change the project references to make the change.  They are two entirely different products but the point is the same, you'll save a LOT of time with either of them.

Deklarit is a encompassing solution, wherein you create Deklarit projects and develop entirely in that context.  The same holds for LLBLGenpro.  The nice thing about both of them is that you aren't crippled or impeded at all by either of them.  This is a far cry from old school 4GL's that do everything for you, unless you need something they didn't intend on you doing.  When I get some time this week, I'm going to show how they both work and how they save so much time.  In the meantime, do yourself a favor and at least check them out.  ORM is defintely  a welcomed concept!

Comments

# TrackBack said on May 11, 2004 8:01 PM:

# TrackBack said on June 28, 2004 9:41 AM:

LLBLGenPro

# TrackBack said on December 7, 2004 10:07 PM:

ORM

# William said on April 1, 2005 7:33 AM:

If you are interested in ORM tools then i think TierDeveloper at alachisoft.com is something you must give a look at.

# RL said on January 30, 2006 11:42 AM:

Can you post code here that you used to run a Crystal Report in .NET?

Search

This Blog

Tags

Community

Archives

News

My other sites

Cool Stuff

Book Stuff

Security

ORM

Data Access

Funny Stuff

Compact Framework Stuff

Web Casts

My KnowledgeBase Articles

My MVP Profile

Design Patterns

Performance

Debugging

Remoting

My Fellow Authors

My Books

LINQ

Misc

Speech

Syndication

Email Notifications