I decided to revisit Entity Framework for a project I’m working on. It’s been a while since the last time I gave EF a fair shake (way back when it was first released). I can sum up my impressions of the 4.5 version with a single word: disappointing. EF has come a very long way…
try-catch-FAIL
Category: <span>Databases</span>
Quick-and-Easy Database Integration Tests with SpecsFor
SpecsFor makes it very easy to bolt on your own conventions, create your own base classes, and extend its behavior to support your specific testing needs. I’m working on a project that’s built on LINQ to SQL, and I wanted to start creating integration tests around our stored procedures and views. Here’s the base class…
Announcing Esenterate – a clean .NET API for ESENT
I have blogged previously about my disdain for relational databases, and recently I’ve been looking harder and harder at ESENT. In my two previous posts on the ESENT, I covered how you could use ESENT from .NET as well as why you might want to. Because of the ugliness of the API, today you are…
When to consider ESENT
Rob pointed out that my last post didn’t really make a strong case for using ESENT. Why would someone want to jump through the extra hoops when they could just use NHibernate to store their data? In it’s current form, I would have to agree that NHibernate is probably a better solution than using the…
Alternatives to Relational DBs – ESENT
As I have ranted about previously, I’m not a big fan of relational databases. They have their uses, but they also have some very serious drawbacks, and I think they should be employed selectively. There are lots of other ways you can handle persistence for your application. This post kicks off what I hope will…
Relational databases – the hammer-to-a-screw of software development?
Relational databases make me sad. They are slow, they pose a serious impedance mismatch when used with an object-oriented language, they are heavy, they have non-trivial hardware requirements, and they can cost (a lot) of money. Did I mention that they’re SLOW? Unfortunately, some 95%* of software applications use relational databases for persistence, which means…
The pleasure of ActiveRecord-based data access code
At the beginning of the year, I described the horrible experience I had while removing *TWO* columns from the database of a legacy system here at the day job. For those too lazy to go back and read, I basically spent nearly an entire day working on this “trivial” task and ended up with a…
The pain and horror of hand-coded data access code
At my day job, we finally decided to cull out a couple of columns that were no longer needed in our database schema. We could have left them in, but since they were in a table that typically ends up with several hundred million rows, we thought it *might* actually save us some space in…
Alternatives to Relational Storage, Part 1 – Introduction
As you might can tell from Friday’s post, my recurring obsession with persistence has flared up again. In all my years of development, I have still yet to find a solution that feels "perfect". Perhaps the holy grail of storage is impossible to obtain. Perhaps there is no perfect solution. Maybe it’s some Matrix-style philosophical…