The Wayward WebLog

Oh, what a tangled web

  • The Wayward WebLog

    LINQ: Building an IQueryable Provider - Part IV

    I just could not leave well enough alone. I had the crude LINQ provider working with just a translation of the Where method into SQL. I could execute the query and convert the results into my objects. But that’s not good enough for me, and I know it’s not good enough for you. You probably want to see it all; the transformation of a little sample program into a full-fledged working ORM system. Well, I’m probably not going to do that. However, I still think there’s a lot of common ground I can cover, that you can make use of in your provider, by showing you how I’m going to implement Select. ...
  • The Wayward WebLog

    LINQ: Building an IQueryable Provider - Part III

    Part III? Wasn’t I done in the last post? Didn’t I have the provider actually working, translating, executing and returning a sequence of objects? Sure, that’s true, but only just so. The provider I built was really fragile. It only understood one major query operator and a few minor ones like comparison, etc. However, real providers are going to have to deal with many more operators and complicated interactions between them. For example, that provider did not even let you project the data into new shapes. How one goes about doing that is non-obvious. ...
  • The Wayward WebLog

    LINQ: Building an IQueryable Provider - Part II

    Now, that I’ve laid the groundwork defining a reusable version of IQueryable and IQueryProvider, namely Query and QueryProvider, I’m going to build a provider that actually does something. As I said before, what a query provider really does is execute a little bit of ‘code’ defined as an expression tree instead of actual IL. Of course, it does not actually have to execute it in the traditional sense. For example, LINQ to SQL translates the query expression into SQL and sends it to the server to execute it. ...
  • The Wayward WebLog

    LINQ: Building an IQueryable Provider - Part I

    I’ve been meaning for a while to start up a series of posts that covers building LINQ providers using IQueryable. People have been asking me advice on doing this for quite some time now, whether through internal Microsoft email or questions on the forums or by cracking the encryption and mailing me directly. Of course, I’ve mostly replied with “I’m working on a sample that will show you everything” letting them know that soon all will be revealed. However, instead of just posting a full sample here I felt it prudent to go step by step so I can actual dive deep and explain everything that is going on instead of just dumping it all in your lap and letting you find your own way. ...
  • The Wayward WebLog

    LINQ to SQL: Rico drops the other shoe

    Rico has finally posted some numbers that show you the performance he's seeing with Beta 2 bits. ...
  • The Wayward WebLog

    LINQ to SQL: Go Rico Go!

    Rico has his third installment on LINQ to SQL performance up on his site and he finally lets us in on what he thinks the problems are/were....
  • The Wayward WebLog

    LINQ to SQL: Under the Microscope

    Rico continues his series on LINQ to SQL performance. In this post he takes a look at the breakdown of where the time is being spent. It's not looking good for the extra overhead of query translation. Rico ponders a solution....
  • The Wayward WebLog

    LINQ to SQL: Learning to Crawl

    Rico Mariani, our performance expert amongst other things, has a blog post detailing worst case peformance shown by LINQ to SQL in last May's CTP. You can see for yourself that performance really sucked. :-) Fortunately, that was the prototype and lots...
  • The Wayward WebLog

    LINQ to SQL: Objects all the way down

    There are a lot of different opinions on just what LINQ to SQL is or is not. Some of them are actually based on investigation by people who have kicked the tires and taken a test drive. Being its architect, I realize that I am the foremost expert on what’s under the hood, yet that alone does not give me the omniscience to know how the product measures up to everyone’s expectations. What it does give me is the ability to share with you the impetus behind the design and hope that gives you enough insight to make up your own mind....
  • The Wayward WebLog

    The Blue Screen of Mort

    It happened just the other day when I least expected it. No one would have expected it. Not me, not you, not your cousin, your grand-father or your grand-father’s cousin’s dog; no one. Because there was no warning, not even a hint, not a glint or glimmer...
Page 3 of 28 (273 items) 12345»