Posted By: Charles | Oct 15th, 2008 @ 8:31 AM | 64,599 Views | 14 Comments
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!
Rating:
8
0
staceyw
staceyw
Before C# there was darkness...

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

http://staceyw.spaces.live.com/blog/cns!F4A38E96E598161E!1314.entry

Sample:

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);

staceyw
staceyw
Before C# there was darkness...
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.
bdesmet
bdesmet
Bart De Smet
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.

Thanks,
-Bart
Maddus Mattus
Maddus Mattus
Do, or do not. There is no try. - Yoda

To get started with your own LINQ Provider;

http://www.codeplex.com/LinqExtender/

Awesome...
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 ..
Microsoft Communities