Frans Bouma's blog
The blog of Frans Bouma, creator and lead developer of LLBLGen Pro and ORM Profiler.
-
LLBLGen Pro v4.2 RTM has been released!
We've released LLBLGen Pro v4.2 RTM! v4.2 is a free upgrade for all v4.x licensees and if you're on v3.x, you can upgrade with a discount.
-
LLBLGen Pro v4.2 BETA has been released
This morning we've released LLBLGen Pro v4.2 BETA! The beta is available to all v4 customers and can be downloaded from the customer area -> v4.2 section.
-
Jetbrains' InspectCode result file viewer
Yesterday I was looking for some C# analysis tools, but they either were very expensive or came with add-ins like Resharper. Nothing against these add-ins except that I'm not very fond of having loads of extensions in my IDE as it feels like they slow down the IDE too much at times. That can be me, or the solutions I work with, that doesn't really matter, I simply can't stand the slowness. There's however a solution for that, Jetbrains have been so kind to release their Resharper analysis engine as a free commandline tool. This tool does all the analysis solution wide like Resharper but when I want it to do so, which is excellent. The downside is… it produces an xml file which isn't that useful without some tool.
-
re: Create benchmarks and results that have value
Kelly Sommers wrote a blogpost called 'Create benchmarks and results that have value' in which she refers to my last ORM benchmark post and basically calls it a very bad benchmark because it runs very few iterations (10) and that it only mentions averages (I do not, the raw results are available and referred at in the post I made). Now, I'd like to rectify some of that because it now looks like what I posted is a large pile of drivel.
-
Fetch performance of various .NET ORM / Data-access frameworks, part 2
This is the second post about fetch performance of various .NET ORM / data-access frameworks. The first post, which has lots of background information can be found here. In this second post I'll post new results, including results from frameworks which were included after the previous post. The code used is available on GitHub. I'd like to thank Jonny Bekkum for adding benchmark code for many of the frameworks which were added after the previous post.
-
Microsoft and developer trust (or lack thereof)
There has been some talk around several internet outlets about the (seemingly) eroding trust developers have in Microsoft and its techniques (see David Sobeski's piece here, Tim Anderson's piece here and e.g. the Reddit Programming thread here). Trust is the keyword here and in my opinion it's essential to understand what that means in the context of a software developer to understand the problem at hand, or even to acknowledge that there is / isn't a problem. I try to explain below what I think trust means in this context.
-
Code-first O/R mapping is actually rather silly.
Code-first. It's a way of defining mappings for O/R mappers by hand-writing entity classes and then hand-writing mapping files (either by using shortcuts like conventions or by a fluent api which allows you to setup the mappings rather quickly) to a database which might not exist yet. I find using that kind of system rather odd. The thing is that O/R mapping is about an abstract entity definition which is realized in both a class definition and a table/view definition, in such a way that there is a mapping definable between the two definitions (class and table) so instances of the abstract entity definition (the data!) can flow between instances of the two definitions: from a table row to an entity class instance and back or vice versa. The work needed to perform that flow of entity instances is done by an O/R mapper.
-
Fetch performance of various .NET ORM / Data-access frameworks
I've added an additional test result, namely for Linq to Sql with change tracking switched off (in the answers, at the bottom of the article). I also have updated the graph so it's now partitioned: the frameworks which do change tracking and the ones which don't do change tracking are now grouped together. DbDataAdapter with DataTable is added to the change tracking set, as a DataTable does change tracking.
-
LLBLGen Pro v4.1 Released!
We've released LLBLGen Pro v4.1! Below a quick run down of what's new in this release. LLBLGen Pro v4.1 is a free upgrade for v4.x licensees.
-
LLBLGen Pro v4.1 beta released!
New features / changes in this release are: