Expert to Expert: Erik Meijer and Bart De Smet - LINQ-to-Anything

Play Expert to Expert: Erik Meijer and Bart De Smet - LINQ-to-Anything
Sign in to queue


Welcome to the 100th episode of Going Deep! It's been a great ride so far and I hope you've been enjoying the show over the years. For this momentous occasion, meet Bart de Smet, a software engineer extraordinaire on the WPF team who spends his free time blogging (what an incredible wealth of truly useful technical information to be found on Bart's blog!) and creating custom LINQ providers. In fact, Bart is probably the world's most prolific LINQ provider creator, from LINQ-to-MSI to LINQ-to-Simpsons! How does he do it???

Of course, in this special episode who better to have involved in this LINQ'ified conversation (with lots of whiteboarding) than LINQ co-creator, programming languages designer, fundamentalist functional programming high priest and Channel 9 star Erik Meijer? In fact, given that this is an Expert to Expert Going Deep, Erik co-conducts the interview (and he's great at it as usual!). Nothing better than watching and listening to two experts geeking out at a whiteboard!

What makes LINQ so readily "providable"? How does Bart concoct his LINQ provider magic? Here, we dig into the details that enable LINQ-to-Anything.

Tune in. There's a lot of very useful technical information here (which I hope is the case for all 100 Going Deep episodes).

Enjoy and thanks for watching!



Right click to download this episode

The Discussion

  • User profile image
    Awesome video Charles. I've said it before, it's the combination of MS dev tools and Channel 9 that keeps me such a rabidly enthusiastic Windows developer. Roll on GD#200!
  • User profile image
    As usual... great post !

    Thank you so much with your great work...  Learned a lot from your previous videos Charles, hopefully there will be many many more to come !

  • User profile image

    Thanks all! I appreciate the kind words.

    You can bet that I will be making more Going Deeps this year! Inside C#, Windows 7 and much more. Stay tuned.

    Keep on watching,


  • User profile image
    John Melville-- MD
    Congratulations, Charles, on your 100th going deep.

    I vividly remember the first (filter manager with Mr. Christensen) and the little snippet that "we are going to do more of these."  Going deep has rapidly become my favorite show on Channel 9.  Even if I am less than interested in the instant topic, it is fun to hear smart, passonate people talk about their technology.

    Congrats on your 100th show.  Can't wait to hear you say "lets talk about it" again.
  • User profile image
    Maddus Mattus
    Love the shirt Erik Wink
  • User profile image
    awsome stuff, erik is always alot of fun Smiley congrats on the 100th episode Big Smile

    bart is awsome too , that linq-to-simpsons stuff is some dark magic man.. Wink
  • User profile image
    the c9 halloween lanters are awsome btw Wink
  • User profile image
    "It's a different camel!" Erik Meijer

    I love that man!

    And you too Charles!

    What a great interview. I'd love to see more of Powershell by the way!
    Maybe Jeffery Snover could do a few more videos? (hint-e-di-hint-hint)
  • User profile image

    The comparison of lazy evaluation to washing dishes just rocks! Big Smile

  • User profile image

    Thank you. Very interesting and opened my eyes to other things. Inspired, I created a kind of Grep class for linq.!F4A38E96E598161E!1314.entry


    Console.WriteLine("\nGet number of files and total size under a dir.");
    long totSize = 0;
    long totFiles = 0;
    var q = (from f in new LFileInfo(@"c:\temp").Children(true)
             let x = totSize += f.Length
             let y = totFiles++
             select f);
    Console.WriteLine("Total Size:{0:N} Total Files: {1}", totSize, totFiles);

  • User profile image
    Hi Bart.  Could you post a sample of use powershell and Entity framework.  The ctor() fails like it can't load the connection string when trying EF.  Made curr dir the bin\debug, and it still fails to new.   Linq2s works fine.  Thank you.
  • User profile image
    Hi staceyw,

    In theory any IQueryable provider should be addressable with LINQ through PowerShell. I haven't tested with the entity framework specifically though. It might be a totally unrelated problem like missing a configuration file that contains the connection string or so. Feel free to send me mail on "bartde at microsoft dot com" with a small project illustrating the failure condition, so I can step through it to see what's going on.

  • User profile image
    Maddus Mattus

    To get started with your own LINQ Provider;

  • User profile image
    Cool, i just watched the video today..
    Bart de Smet blog is really awesome too..
    Erik , u r Great...
    But the man who makes this awesome sessions possible is Charles..,
    So THUMBS UP to Charles !!!!!! Keep on doing ..

Add Your 2 Cents