Monday, October 20, 2008 12:36 AM bart

LINQ to Anything – Channel 9 interview and a few more thoughts

imageRecently I had the opportunity to sync up with Erik Meijer and Charles Torre for a Channel 9 “Going Deep” and “Expert to Expert” interview: Erik Meijer and Bart De Smet: LINQ-to-Anything. In this episode we talk about LINQ’s extensibility mechanisms, all the way from the language integrated side of the story (front-end language syntax) – or fan in – to the implementation of query providers – or fan out – and the depths of IQueryable<T>.

A few useful pointers are LINQ to AD, LINQ to SharePoint, LINQ through PowerShell, LINQ to MSI. Other referenced articles include:

Much more stuff can be found in my LINQ blog post category, and of course there’s always more to come.

 

To elaborate a bit on fan-in and fan-out and my statement on the square infinity possibilities of LINQ, take a look at the following slides from a recent presentation I delivered on the topic:

image image

The number of languages is constantly growing and with growing interesting in DSLs that’s not going to change, whether you like that or not. So embedding LINQ in more of these languages – requiring concepts like first-class functions, closures and expression trees or quotations – is one side of the coin that gives us infinite possibilities. On the other side, we get all of the LINQ to * implementations where LINQification is possible for virtually every type of data model. In quite some cases it comes for free with IEnumerable<T> and LINQ to Objects, but in other cases we need runtime translations based on expression trees. Again, this provides infinite possibilities. Ultimately the LINQ term disappears from the function composition as it becomes “just another daily instrument” that’s taken for granted.

Just think about the composition of both sides, making things like “LINQ to SharePoint through PowerShell” possible, as I was showing in a demo with that particular presentation (apologies for the picture quality – it’s a PrntScrn from the recording replaying in Windows Media Player as I don’t have the setup for the demo here right now):

image

Ultimately I’d say that LINQ should be part of every data source’s DNA:

image

Enjoy!

Del.icio.us | Digg It | Technorati | Blinklist | Furl | reddit | DotNetKicks

Filed under:

Comments

# re: LINQ to Anything – Channel 9 interview and a few more thoughts

Tuesday, October 21, 2008 6:18 AM by Doug

This is great.

The lwhere, lsort and lselect. Are they PowerShell functions, cmdlets, other?

Any source you can share?

# re: LINQ to Anything – Channel 9 interview and a few more thoughts

Tuesday, October 21, 2008 9:02 AM by bart

Hi Doug,

Indeed all of those are cmdlets within a single PowerShell provider called LTP for LINQ through PowerShell. You can find the source near the bottom of the linked post on LINQ through PowerShell (near the top of this post).

Thanks,

-Bart

# WMOC#23 - ASP.net MVC Beta and Silverlight 2 released - Service Endpoint

Pingback from  WMOC#23 - ASP.net MVC Beta and Silverlight 2 released - Service Endpoint