Screenshot / Code Snippet

var questions = from q in ctx.Questions
                where q.OwnerID == 34796
                select q;

var multiQuestion = from q in ctx.Questions
                    where q.QuestionIDList == new[] { 369558, 936804 }
                    select q;

var moderators = from u in ctx.Users
                 where u.Moderator == true && u.PageSize == 100 && u.Page == 5
                 select u;


StackLINQ is a custom LINQ Provider that allows you to query the StackOverflow API directly using LINQ syntax.

StackLINQ supports:

  • All of the API calls.
  • Vectorized requests
  • Proxy servers (via the Context)
  • Total, Page, PageSize returned on the Context (where applicable)

StackLINQ Apps:

  • StackedDeck: The TweetDeck of StackExchange
  • StackWatcher: The system tray app that notifies you of rep, favorites, and badge awards

Coming soon:

  • Search API
  • Take(), Skip() methods
  • Complete test coverage


Released under the MIT Open Source License.


The source is available on BitBucket.


Windows .NET applications


StackLINQ was created by Dave Swersky. You can reach me at dave [at] daveswersky.com. Please include "StackLINQ" in the subject line with any questions, and feel free to ask!


StackLINQ was written in C#. The source can be downloaded on BitBucket.

  • 2
    + i have been keeping an eye on this. i like where you are going. you don't know how relieved i was when you spoke up. i was not looking forward to breaking the ground on this. Jun 29, 2010 at 18:03
  • dave, you might want to make a local temp clone to identify the missing files so that you can resolve them in your main repo so that the solution loads without difficulty. Apparently they are vestigal but the proj files are still referencing them. also, the modeling would be interesting to see. Jun 29, 2010 at 18:47
  • @code: It's been quite a journey, LINQ Providers are opaque to say the least ;) I considered basing L2SO on your model, and did a quick spike to try it out, but I had gone too far in another direction. I'll create a clone and clean up the references so the codebase works without issue on download. As for modeling, you want a class diagram? Jun 29, 2010 at 19:14
  • i was thinking more of the modeling project and sequence diagrams that are missing from the solution. nothing like hinting at something to get some people wanting it, but i understand scratch projects so no worry if they are not meant to be public. Jun 29, 2010 at 19:39
  • @code: The modeling project is no more, the sequence diagram has been added to the main project. Jun 29, 2010 at 20:24
  • @Dave - your download link has not been updated to bitbucket.org/dswersky/stacklinq yet (and I'm still lacking appropriate edit rights by far ;) Jul 28, 2010 at 9:06
  • @Steffen: Sorry about that, changed the name at your suggestion and forgot to update the links! It should work now: bitbucket.org/dswersky/stacklinq Jul 28, 2010 at 16:18
  • @Dave - no worries, just realized it by chance and thought you could make it easier for new users easily ;) Jul 28, 2010 at 19:50

1 Answer 1


Quite impressive - am looking forward for more!

I'm afraid you'll need to change the library name soon though, as LINQToStackOverflow is at odds with the recently published Trademark Guidance, which explicitly asks for only one of the terms, "Stack" or "Exchange" or "Overflow" in your product name.

So may I suggest the obvious: LINQ to Stack ;)

Sounds pretty cool to me and I'd presume the term 'Stack' in itself ranking high SEO wise soon regarding the Stack Exchange sites, despite its generality, and even more so for developer oriented stuff like yours.

  • Interesting... I will work on a new name in that case, thanks for pointing that out! Jun 30, 2010 at 1:36
  • I propose changing the name to StINQ or something equally clever.
    – Soviut
    Jul 28, 2010 at 23:44
  • Why not LinqOverflow Feb 17, 2013 at 3:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .