ORM Hell!

ok so I have LLBLGen Pro v2.6 which is very nice for MySQL, awesome for SQL, but doesn't have the "promised" support for VistaDB. So I've been looking at other ORM's to see if I can find something easy to use and free or not too expensive. My choices seem to be EntitySpaces (via MyGeneration or Codesmith), Wilson ORMapper, or OPF3.

My experience so far is:

EntitySpaces & MyGeneration or CodeSmith: $150 + (MyGeneration is free but $99-$399 to use CodeSmith)

ES needs to not require another piece of software, free or not. They do have better docs and tutorials than SubSonic but it's not nearly as much as the LLBLGen manual.

Likes
- got the demo setup fine using SQL Server 2005 and Northwind with code - neat!
Dislikes
- design time support for the datasource control - no smarttag support and I had some trouble with the demo not wanting to sort. this is probably my issue.
- i thought the docs and tutorials would be better since this is a commercial product but they are not.
- I HATE having to download and use another piece of software to generate the classes. I thought ES2008 was going to have it's own GUI. Now they seem to be in CodeSmith's pocket and are pushing that everywhere.

Wilson ORMapper:
Likes
- can be obtained free at http://code.google.com/p/wilsonormapper
- from what I've read this is a very stable and evolved OR/M

Dislikes
- home page mentioned it going open source soon on 9/7/2007 with a "news" post. it went open source shortly after that and unless I missed it there is NO mention of the google code so there is still people paying $50 for register and download software that is essentially free. I verified there are no links to the google code by running this LINK. I looked around his website hoping to find some mention of getting video's or documentation about using the programs but there isn't any. this project is essentially abandoned and the guy still has the $50 subscription up on the site. It is his code and his website so he can do as he pleases but I don't think it's right to have the code open source and not mention that fact on the website while still asking for $50. The $50 is NOT the problem that's dirt cheap. Just feels a little slimy to me.
- couldn't get it to connect to MySQL at all
- couldn't find a getting started doc, at least EntitySpaces had that and it was well done.

OPF3: - Trying it now. $150-$200

I don't understand why these places can't put more effort into documentation and tutorials. OPF3 seems to do this better than anyone so far. I think they expect people to just dig in and figure it all out. ALL I want is to have it create a good DAL that can be used with my Telerik tools and in code when needed. So far SubSonic and ES2008 can do this on some level or another. WilsonOR is just a pain and I don't have time to learn it.

i'll update this post when I have more on OPF3 and VistaDB.

You may be asking why use VistaDB?
for simple websites, like one that I'm about to do for a church, it's nice to be able to XCopy the entire thing. With Access or VistaDB you can do that and not worry about making sure they find a host with SQL Express.

LLGLGen
Awesome software with a very extensive manual and actual staff support in their forums. I have had LLBLGen for a while and use it on a e-commerce website that uses MySQL.

By far LLBLGen is the best OR/M software available. And since it offers two different methods SelfService and Adapter mode you can go with a simple and short learning curve (SelfService) or the full on do anything you want using the Adapter mode. And both methods offer partial extendable classes. If you are going to pick one and stick with it for all of your projects I would go with LLBLGen. If you are interested first download the LLBLGen manual and go through the concepts portions. Then download the trial and give it a try.

SubSonic
I should have included this as well. Especially since I made a website LearnSubsonic.com

Subsonic doesn't need another program to use because it uses a command line interface. The CLI can be made a little easier by integrating into VS. I used to be in with SubSonic and even purchased the domain LearnSubsonic.com so I could try and keep a list of tutorials. And it is in my few the best of the free or lower prices OR/M's and if you can find enough tutorials and video's to get you started it is also pretty easy to use. I think the major feature lacking for Subsonic is good documentation with lots of examples. Rob and Eric post a lot of this on their blog but you'll have to dig around. I stop updating LearnSubsonic.com but it has links to the beginner video's which is a good place to start.

Microsoft's Entity Framework
I haven't had a chance to look at this yet. But the momentum is building and Carl Franklin from DotNetRocks has released a DNRtv episode about it http://www.dnrtv.com/default.aspx?showNum=117

Conclusion
In my experience LLBLGen is the best of the best and this is backed up by their constant updates, tutorials, and documentation. And more importantly the forum http://www.llblgen.com/tinyforum/ where you will find that Fran's himself replies to a lot. The support from LLBLGen is excellent. My suggestion is to watch the tutorials for Subsonic and LLBLGen and decide for yourself which to use for your project.

BTW I didn't bother with OPF and VistaDB. I just don't have the time to learn another OR/M. When VistaDB releases the version with LINQ support I will use it for smaller sites. But my recent experience with GoDaddy hosting is that support for SQL Express DB's is very good and not nearly as much of a pain as I expected. So I'm using SQL Express for smaller sites for the foreseeable future. Also I started playing around and using HeroCoder
which only uses SQL Server db's but removes a lot of the burden of managing the authentication for a website.

1 comment:

  1. EntitySpaces 2009 will not require a seperate code generator, see http://www.entityspaces.net/blog/2008/08/17/EntitySpaces+2009+Sneakpeak.aspx

    and some performance numbers
    http://www.entityspaces.net/blog/2008/08/24/EntitySpaces+2008+Fast+Or+Slow.aspx

    ReplyDelete