Write the Evaluator or How I Learned to Stop Worrying and Love the Micro-ORM
If you’ve been reading so far, you know that I am working on a multi-tiered app in C# and it’s very database heavy. I had tried to configure NHibernate to take care of the heavy lifting for me, but configuring it to Oracle hasn’t been a simple task. Honestly, I’ve read some of the driest instructions on the planet and found them easier to understand. I don’t doubt that FluentNHibernate is a viable solution, it just has not been as easy to throw together. Most of the documentation is written for 2.X implementations of NHiberate and really since 3.2.X has been out for a while, the documentation should be updated. I know that Oracle is making great strides on ODP.NET working well with EF, but it just doesn’t feel well put together for non-trivial applications.
My biggest issue with NHibernate and Fluent (for that matter) is that with the nature of some of my tables, I don’t really have a true PK for them, so the whole thing will fail for the UD portion of CRUD. I know that the queries can be useful, which really is the most important part, but I do have to do updates in places to ensure that I don’t resend data.
I’ve been looking at some of the micro-orms in hopes they could prove to be interesting and give me some of the edge I need somewhere. Since I have to use an Oracle database, it seems I’m limited to 3 of them: Dapper, PetaPoco, and Simple.Data .
Now the trick is to look at these as well as the 800lb gorilla that is FluentNHibernate and see what is going to work best for my needs. As I keep writing, I will talk about what I find and where it is going.