1

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?

Community
  • 1
  • 1
Ahmed Atia
  • 17,223
  • 24
  • 88
  • 129

5 Answers5

3

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
  • 171,726
  • 31
  • 271
  • 330
3

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
  • 122,952
  • 42
  • 199
  • 241
  • 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 Aug 01 '09 at 19:47
  • 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 Aug 01 '09 at 20:00
  • 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 Aug 06 '09 at 20:21
  • 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 Aug 07 '09 at 10:09
1
  • LINQ to WMI
  • LINQ to LDAP
  • LINQ to Internet - query the Internet (from Google)
Leeeroy
  • 885
  • 2
  • 10
  • 10
0

Linq to nHibernate has also just been completed

StevenMcD
  • 16,572
  • 11
  • 40
  • 53
0

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?

Kevin LaBranche
  • 20,490
  • 2
  • 49
  • 75