Geeks With Blogs
Saif Khan { I am Saif } "Knowledge is power, information is free, share it!"
Over the last few days I’ve been coding away with several ORMS and code generators trying to find me one which I am comfortable with. Here is what I learn
Not all ORMs are perfect!
SubSonic
Telerik  OpenAccess
nHibernate  via Code smith Generator and LLBLGen
LLBLGen Pro Framework
 
SubSonic
This is an awesome piece of work my Mr. Conery (and team)…for FREE! I’ve been using this for quite a while now. It is excellent for small projects, both Web and Winform apps. It’s a breeze to setup and get off and running, even if you are a new comer to ORM. Extending the classes for additional functionality is also easy. My only issues
·       Moving to version 3 I dislike having all the code in one file instead of several classes…even though I understood the reason.
·       Version 3 is flakey in VB.NET projects….LINQ…ish.
·       As projects start to scale, you realize ActiveRecord Pattern will not suffice! This is when your domain model starts to change from the db schema; you know…the 1:1 thing.
·       I haven’t seen any news on SubSonic lately so I am starting to wonder…is this project up for retirement?
Other than that it’s an excellent ORM to use, heck the speed is even awesome. I’ve recently done an EDI Winform application with SubSonic with serious amounts of data and it works.
 
Telerik  OpenAccess

This is also a nice piece of work from the team over at Telerik. They also have a FREE version…OpenAccess Express. I love the integration into Visual Studio along with the Visual Class designer. There is also clear documentation on their site and part of the download. It’s excellent for small to mid-size projects. My only issues
·       Their tech support sucks big-time for prospective customers! Heck I waited for more than 12 hours before I got an answer to my question. If you have a great product and want to entice new customers then response time should be a bit faster…I shouldn’t have to say why.

 
·       It appears to be flakey on VB.NET projects.
·       The designer seems to freak out in Visual Studio 2010 under certain screen resolutions.
It’s a promising ORM. I’ve seen a lot of new things since I looked at them a year (or more) ago. However, if I am going to pay $399.00 to $599.00 then I expect better response time from support. Seriously, applications are driven by data and if that layer is not on high-availability then I am looking for trouble.

 
nHibernate
Love it! It’s free and for any size projects. Dislike the XML style mappings. I opted for CodeSmith but hand lots of issues getting this to work on VB.NET projects…works fine on C#.
LLBLGen Pro Framework
This was my choice for ORM. It works on both VB.NET and C# flawlessly. Great designer…honestly I like the abstraction from Visual Studio. Better response time from tech support. Great documentation and fits a lot of architecture (nTier), disconnected data, WCF RIA and more. The designer offers a lot of detailed customizations to your DAL. The feature list, well you check the list out over at their site. My only issue
·       The designer is a bit overwhelming for first-time users.
 
I am happy with my decision. In my quest I learnt a few things, but most importantly…all is not perfect. Choose base on
·       Your environment
·       Project size and architecture
·       Learning curve
·       Flexibility (or extensibility) …like adding business rules, dependency injection etc.  
·       Support
·       Cost
Lastly, EF4 doesn’t support SQL Server 2000 and some of my clients still has some legacy DB.
Posted on Saturday, April 2, 2011 2:25 PM | Back to top


Comments on this post: Choosing the right ORM

# re: Choosing the right ORM
Requesting Gravatar...
I am a fan of nhibernate as well. I was also put off by the xml mapping files. Fortunately, I discovered fluent mapping. This is a vast improvement. Combine this with Linq to nhiberante, and you have an ideal environment.
Left by Nick Harrison on Apr 04, 2011 1:01 AM

Your comment:
 (will show your gravatar)
 


Copyright © saifkhan | Powered by: GeeksWithBlogs.net | Join free