views:

308

answers:

5

In the spirit of

All about LINQ

Current LINQ providers:

  • LINQ to Objects.
  • LINQ to SQL.
  • LINQ to XML.
  • LINQ to Entities.
  • LINQ to WMI.
  • LINQ to LDAP.
  • LINQ to Internet.
  • LINQ to Dataset.
  • LINQ to nHibernate.

So, what is after LINQ? Does there any data source LINQ not cable of querying it?

[Edit] From Adam Robinson's answer: What sort of data source (if any) doesn't lend itself toward a formal query definition?

+1  A: 
  • LINQ to WMI
  • LINQ to LDAP
  • LINQ to Internet - query the Internet (from Google)
Leeeroy
LINQ to Internet ? What does this mean?
Ahmed
@Ahmed: I think it means some sort of LINQ-based API for querying an internet search engine. I'm not sure how (or if) this would work.
Adam Robinson
Hmm. var q = from page in Google where page.Keywords.Contains("StackOverflow") select page.UrlCould be neat.
Erik Forbes
Check out http://developer.yahoo.com/yql if you want to see something analogous to "LINQ to Internet."
Joe Chung
+3  A: 

You're forgetting LINQ-to-Datasets, et al. However, the question isn't so much about whether or not LINQ is capable of querying a particular data source, since exposing something to LINQ (in a provider-specific way instead of falling back on LINQ-to-objects) just relies on interface implementation. The real question would be what sort of data source (if any) doesn't lend itself toward a formal query definition.

Adam Robinson
A: 

Linq to nHibernate has also just been completed

FailBoy
+3  A: 

This isn't after Linq as such, but it's probably after Linq as you currently think about it acting as a pull mechanism on a sequence.

The new .NET 4.0 IObservable<T> and IObserver<T> interfaces (a.k.a. the Rx framework) extend Linq's capabilities to allow a push mechanism and simpler construction of event driven asynchronous workflows. There's plenty more about it if you follow the other posts on the blog I linked to.

So Linq wasn't capable of querying events. But now it is!

Greg Beech
I've been trying to follow Rx but I don't quite grasp the concept... Are there any other resources on it besides the link you provided?
Erik Forbes
The same as Erik.
Ahmed
There's a video on Channel 9 with Erik Meier and Brian Beckman, but it's all about the theoretical derivation of it and doesn't help much with understanding. (At the moment I'm in the same boat as you guys -- I know it's clever and I know it's going to be important, but I haven't quite got my head around how and why yet...)
Greg Beech
You're referring to this -- http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Brian-Beckman-and-Erik-Meijer-Inside-the-NET-Reactive-Framework-Rx/ --There's another one out there now by Kim Hamilton and Wes Dyer (that I haven't watched yet) that should shed more light. -- http://channel9.msdn.com/shows/Going+Deep/Kim-Hamilton-and-Wes-Dyer-Inside-NET-Rx-and-IObservableIObserver-in-the-BCL-VS-2010/
Erik Forbes
Ah, that sounds promising. Wes Dyer wrote by far the best article I've read about monads and Linq (http://blogs.msdn.com/wesdyer/archive/2008/01/11/the-marvels-of-monads.aspx) so hopefully the video about the new observable things will be equally good. It's a real shame he stopped blogging.
Greg Beech
A: 

You asked:

What sort of data source (if any) doesn't lend itself toward a formal query definition?

Linq is a provider so as long as the data source has a way of querying it then it should be possible to create a Linq provider for it. In my mind if you have a data source you also have a "formal query definition" or can create one. If not, is it really a data source or just of blob?

klabranche