Frans Bouma's blog
The blog of Frans Bouma, creator and lead developer of LLBLGen Pro and ORM Profiler.
-
Gavin King slams Object Databases
In a great article, Gavin King (of Hibernate fame) whipes the floor with what we used to call 'Object Databases'. Excellent reading material and full of information why these RDBMS's still stick around after all those many claims of object database vendors that their product is so incredibly more efficient.
-
The endless fall to uselessness of MS Connect
I ran into a new low for Microsoft Connect product feedback. Check this item (you have to login with your MS Passport/Live ID. I don't know why). The title is "When will .NET 2.0 service pack 1 be out (IF ever) ?", I posted this on April 17th. The title explains it all.
Today I got a reply (whoa, after one month already). The status is now changed to "Resolved (Fixed)". This is the comment Microsoft posted:Thanks for your post. Our plans are always to deliver the necessary roll-up of a product in Service pack form when it makes the most (positive) impact. We continue to deliver necessary fixes (QFEs and GDRs) in the meantime and we've delivered a SP1 for Visual Studio.
-
API's and production code shouldn't be designed by scientists
One of the biggest mistakes Microsoft made in Database land was the absense of a proper paging mechanism in SqlServer 7 and SqlServer 2000. (No, don't come to me with tricks with @@ROWCOUNT because these don't always work in all situations). People had to use temp tables to get a mechanism which always works in all situations. What a surprise it was to see that Microsoft said they solved it in SqlServer 2005: they added a construct which offered paging inside the database without the necessity of temp tables. Though, who designed this feature? Did that person ever write production SQL code or did that person ever write normal business applications? Did anyone ever tell that person that all other major databases on the planet, except Access, had a simple paging mechanism build in so anything more complex than that would be bad? Apparently not.
-
New blog server as it seems, which doesn't work ok with my blog-skin
It seems Telligent uploaded a new version of Community server here on weblogs.asp.net, though it broke my custom blog-skin so the blog doesn't look that great now. Sorry for that, I'll try to migrate the skin a.s.a.p.
-
ADO.NET Entity Framework cut from .NET 3.5/Orcas.
First, read the announcement here.
Had that deja-vu yet? Me too. But let's not get into that right now, because I do think the Entity Framework situation is different from the WinFS/ObjectSpaces situation. So what's going on here?
-
More on Lazy Loading vs. Pre-loading in O/R mapping scenarios
Recently I replied to a post on Ayende's blog which I'll quote below:
In general lazy loading is more of a burden than a blessing.
The reason for this is that it leaks persistent storage access to different tiers via the lazy loadable associations. If you want to prevent your UI developers to utilize lazy loading, or are sending entities across the wire to a service, how are you preventing that lazy loading is called under the hood? We support 2 models, one has lazy loading, the other one doesn't (and is more geared towards disconnected environments).
You don't really miss lazy loading in the second model really, as long as you have prefetch paths to specify prefetching what you want (also into an existing graph) The thing is that the model then forces you to write more service oriented software: make the call to the data producer and tell the data producer (or repository, whatever you want to call it) what to get and you get the data and work with it. there's no leaky lazy loading under the hood bypassing the repository, you need to call the dataproducer to get the data, period. -
I'll do a Chalk & Talk session on O/R mapping at the next Dutch CodeCamp!
I'll host a chalk & talk session at the upcoming Dutch CodeCamp on May 12th. The title is O/R mapping and Architecture, and as my session is the first of 3 sessions, the others are held by Alex Thissen and Paul Gielens, we will align our sessions so the whole track is actually one big session
.
-
Why change-tracking has to be part of an entity object
Recently, Andres Aguiar started a discussion between him and Udi Dahan about change tracking in the upcoming Entity Framework (EDM) from Microsoft. Basicly, Andres described why it was unfortunate that the EDM doesn't have change tracking inside the entity objects itself and gave some examples why that's unfortunate. Udi pulled the discussion into SOA land, and I think that was unfortunate as well, because there's a much wider used example which will illustrate why Andres is right and the rest is wrong: ASP.NET 2-way databinding. This article will be very technical, and it refers to stuff you won't run into most of the time, as it's functionality which is deep inside controls you just use. However to be able to use these controls and these features available to you in ASP.NET 2.0, they shouldn't force you to implement a lot of plumbing code yourself, as the sole reason you're using these controls is because they are the plumbing, they should take care of all that, why else bother using them?
-
this.AddAward(new MVPAward());
Hurray!
. Microsoft awarded me the MVP award for C# for the 4th time!. Congratulations to all the other fellow MVP renewals and new MVPs!
-
And this is why Google will win...
Jeffrey Palermo blogged tonight about his new link blog. It's not really a blog, it's a feed of shared items in Google Reader. I didn't know that was possible with Google Reader.
What a great concept: the info is already there in your reader, so why not add the blog items of various blogs you're reading to a new list, which forms a new blog? So I instantly dropped Omea Pro and moved to Google Reader with my feeds. As I read a lot of blogs every day, I will try to share the items I think are useful to all my two my readers on my shared items 'blog' at Google. It's linked at the left, but for convenience, you can also click here.There's not that much shared at the moment, but I'm currently traversing my feeds to see if I can share more stuff. Every shared items 'blog' at Google also has an RSS feed, so you won't miss a thing!