Community Blogs

Browse by Tags

Related Posts

  • Linq to LLBLGen Pro: feature highlights, part 2

    In the first part of this series I talked about the fact that Linq to LLBLGen Pro is a full implementation of Linq and why it's so important to use a full linq provider instead of a half-baked one. Today, I'll discuss a couple of native LLBLGen Pro features we've added to our Linq provider via extension methods: hierarchical fetches and exclusion of entity fields in a query. Furthermore some other features will be in the spotlight as well. What I also want to highlight is that using an O/R mapper is more than just filling dumb classes with dumb data: it's entity management , and the O/R mapper framework should offer you tools so you will be able to manage and do whatever you want with the entity graph in memory with as less problems...


  • Linq to LLBLGen Pro: feature highlights, part 1

    Some people asked me what the highlights are of Linq to LLBLGen Pro , which was released this week , as it seems that Linq support is apparently growing on trees these days. In this and some future posts I'll try to sum up some of the characteristic features of Linq to LLBLGen Pro, so you don't have to wade through the 15 articles I wrote about writing Linq to LLBLGen Pro . I'll write several of these articles, this is the first one. I hope to write more of them in the coming weeks. Linq to LLBLGen Pro is a full implementation of Linq The first feature I'd like to highlight is the simple fact that it's a full implementation of a Linq provider. You now might think "Isn't that obvious? It is a Linq provider",...


  • LLBLGen Pro v2.6 has been released!

    After almost 11 months of design, development, beta testing and adding final polish, it's here: LLBLGen Pro v2.6 ! This version, which is a free upgrade for all our v2.x customers, has a couple of major new features, the biggest of course being the full implementation of Linq support in our O/R mapper framework. The work on our Linq provider, which we've dubbed 'Linq to LLBLGen Pro', lasted almost 9 months and was discussed on this blog in a series of articles, which I'll linq ( ) to below. In the beginning of writing the Linq provider, I was pretty optimistic that it would be easy and quick, but after a while I got very pessimistic and wanted to skip it entirely as it would simply cost too much effort, and therefore time...


  • VB.NET: Beware of the 'Aggregate' keyword

    This afternoon I was writing some VB.NET specific Linq queries for the documentation for our upcoming LLBLGen Pro v2.6 (currently in beta) version, and typically I was simply porting over C# queries to VB.NET code and see if they work and if they do, use them, if not, start some cursing, quests for help in the MSDN docs and repeat the process. During my travels through the MSDN Linq documentation and what Microsoft had added to VB9 (.NET 3.5), I ended up in the VB.NET Linq specific language clauses documentation. One of them is about the Aggregate clause. The Aggregate clause was a strange fellow to me. It didn't ring any bell. What does it do? Well, let's look at a typical example: I want to fetch the maximum OrderDate for the Northwind...


  • Why use the Entity Framework? Yeah, why exactly?

    Danny Simmons wrote a marketing piece about the project he's been working on for so long: " Why use the Entity Framework? ". I don't expect Danny to be unbiased towards his own work, so at first I just ignored it: Microsoft produces these kind of ' use our stuff, it's better than sliced bread '-articles a dozen times a day. However, this particular article seems to be a discussion subject and is supported by non-Microsoft people on other blogs, so it's time to stop ignoring it and start to refute the contents of the article, despite it being marketing. After all, it doesn't look like it's marketing. I've spend the entire last 6 years of my life on something called Object-Relational Mapping , so I...


  • Anti-agile hatemail

    Today I received through the contact form on this blog a hate-mail from a guy who called himself 'Ryan'. Ryan used a fake, non-existing email address so the only way to respond to him is via my blog, hence this post. Let's look at the email first: From: ryan@notanoob.org Subject: (Frans Bouma's blog) : anti-agile Your post on Jeffrey Palmero's blog is laughable. He is a smart and successful person and is involved in practices that you do not understand. Your post makes you look like a moron. You obviously have a lot to learn about agile development. The ONLY thing that works on large .net projects is the platform independent knowledge that the java / C++ / small talk community has learned over the past 20 years. I know because...


  • Beta of Linq to LLBLGen Pro released!

    Today we released the beta of Linq to LLBLGen Pro to our customers so they can dig in and check if we provided the right code, if everything works allright etc.! If you're an LLBLGen Pro v2.x customer and you want to check out our Linq implementation, please check the customer area to download the beta package. As I said in my last episode of the (long running) series 'Developing Linq to LLBLGen Pro', it took near 6 months to get this far, and it wasn't a walk in the park. However the last 3-4 months have been pretty OK, once everything was clear and I knew what to expect and what to do. Looking back I'm very happy we did take this step to provide full Linq support for LLBLGen Pro. Linq for LLBLGen Pro is part of LLBLGen...


  • Developing Linq to LLBLGen Pro, part 14

    (This is part of an on-going series of articles, started here ) We're getting closer to the goal: a full -featured Linq provider for LLBLGen Pro . Hopefully next week the Linq CTP for LLBLGen Pro is ready for release to customers, fingers crossed! Last time I talked about the function mapping support for database functions and in-memory function/method/property access extravangansa, today I'll discuss one of the cornerstones of using an O/R mapper in the first place: fetching trees of objects using hierarchical fetches. Eager-loading of related data using prefetch paths One of the two ways of fetching hierarchical data is by fetching a tree of entity instances. For example: fetch all customers from Germany and their Order entities and...


  • Developing Linq to LLBLGen Pro, part 13

    (This is part of an on-going series of articles, started here ) Last time I talked about implementing Single. It turned out to be fairly straightforward, but as I explained in the previous episode, it's a weird method and has different behavior related to where it's used in the query: sometimes it does and sometimes it doesn't result in an exception and also it doesn't always result in the same type of exception. This same aspect of not having the same behavior, or better: end result, related to where the element is used in the query is seen with using function mappings, local methods etc. in a Linq query. Let's look at an example or two: // Example A: usage of method mapped onto db function LinqMetaData metaData = new LinqMetaData...


  • Some gems in comments

    From the comments in 'Portraint of a n00b' by Yegge : I program in English. After reviewing the English, I comment in Java after each sentence to let the computer know how to do it. In essence, I program in dual languages. IMHO the approach is what's important. and: Static typing is like saying there is this box and you can only put this kind of thing in it. The box is labeled. Dynamic typing is like saying we have these generic transparent boxes that you have to look into to find out what is in there. or just remember where you put everything. Read More...


Page 1 of 7 (67 items) 1 2 3 4 5 Next > ... Last ยป