Life on the Bleeding Edge
I suppose that this blog is partially about the journey and partially about the cathartic effects of writing out frustrations, so I guess this entry goes under the category of frustrations. Having spent quite a few hours trying to work with LINQ to Entities, I’m having different, but equally frustrating problems as I had with LINQ to SQL trying to use it in the real world. So, this new, shiny thing doesn’t support setting types as enumerations. Really? Aren’t enumerations one of the most common types used? How this can be shipped without it is beyond me. It just screams deadline over quality, and I’m not happy. And, well, I just don’t believe it is ready for primetime. You can create a single table inheritance model, but you can’t create any associations to that descendent entity. So, what exactly is the point, then? I’m really happy that I can draw a pretty picture of my domain model as long as it doesn’t have to DO anything (let me know when you wipe the dripping sarcasm off your sleeve, there).
I’m a big believer in model driven development. I think developers should spend their time on the logic and the value add, not the rote mechanisation of creating classes and mapping them to tables and creating sql scripts. Unfortunately, I can’t say that Microsoft is there yet. Progressing, to be sure, but simply not there. Everything gets you only halfway, and then it is all set up to regenerate on top of itself, so you can’t really even hand modify the code. I’m trying to build a framework for a team-based development project, and I wanted to evaluate using newer MS technologies for this project. But, I gotta say that I call treuce. I’m going to give up on single table inheritance (wah) and go back to the PLINQO approach. Frankly, giving up on these really sucks, because I was excited about where things are going with both LINQ to SQL and LINQ to Entities, but it just isn’t primetime.
If anyone out there has used these technologies in a real world application, please let me know–I always want to know if I am just doing it wrong, but I can’t see how either of these technologies can work out of the box. And last, but not least, the whole reason for this trek was to make my life easier, not to spend 3 fruitless days playing with crap (ok, promising crap, but crap nonetheless) that doesn’t work in the real world.


