# Awesome LINQ ## Introduction A curated collection of awesome LINQ libraries, tools, and more. The goal is to build a categorized community-driven collection of very well-known resources. Inspired by [awesome-dotnet](https://github.com/quozd/awesome-dotnet), [awesome-regex](https://github.com/aloisdg/awesome-regex) and the whole `awesome-*` trend on GitHub. Sharing, suggestions and contributions are always welcome! Please take a look at the [contribution guidelines and quality standard](https://github.com/aloisdg/awesome-linq/blob/master/CONTRIBUTING.md) first. Thanks to all contributors, you're awesome and wouldn't be possible without you! ## Libraries ### Queries - [LINQ to Bing](https://linqtobing.codeplex.com) - LINQ provider for Bing search API engine - [LINQ to CSV](https://github.com/mperdeck/LINQtoCSV) - Popular, easy to use library to read and write CSV files (by @mperdeck) - [LINQ to DB](https://github.com/linq2db/linq2db) - Linq to database provider (by @linq2db) - [LINQ to Excel](https://github.com/paulyoder/LinqToExcel) - Retrieve data from spreadsheets by using LINQ (by @paulyoder) - [LINQ to Google](http://www.codeplex.com/glinq) - Query Google's Data Sources using a strongly typed syntax - [LINQ to JSON](http://james.newtonking.com/json/help/html/LINQtoJSON.htm) - Part of the lib Newtonsoft.Json.NET (by @JamesNK) - [LINQ to REST](https://linq2rest.codeplex.com) - Parses OData system query parameters to create a LINQ query - [LINQ to SharePoint](http://linqtosharepoint.codeplex.com) - Query SharePoint lists using familiar LINQ syntax - [LINQ to Twitter](https://github.com/JoeMayo/LinqToTwitter) - LINQ Provider for the Twitter API (by @JoeMayo) - [LINQ to Wiki](https://github.com/svick/LINQ-to-Wiki) - .Net library to access MediaWiki API (by @svick) - [LINQ to XSD](http://linqtoxsd.codeplex.com) - LINQ to XSD enhances the existing LINQ to XML technology ### Extensions - [ExtraLINQ](https://github.com/mariusschulz/ExtraLINQ) - Extension methods for various .NET sequence types (by @mariusschulz) - [i4o (index for objects) - Indexed LINQ](http://i4o.codeplex.com) - Extends LINQ to allow you to put indexes on your objects - [LINQKit](https://github.com/scottksmith95/LINQKit) - Extensions for LINQ to SQL and Entity Framework power users (by @scottksmith95) - [LINQ Extensions](https://github.com/TommasoScalici/LINQExtensions) - LINQ extensions for .NET is a collection of useful extensions methods that extends LINQ's capability. There are methods for combinatorics, mathematical sequences and others Array/IEnumerable extensions. (by @TommasoScalici) - [LINQ Extensions Library](https://linqlib.codeplex.com) - Statistical analysis, sequence generation and manipulation, pattern detection and more - [Mono.Linq.Expressions](https://github.com/jbevain/mono.linq.expressions) - Complement for System.Linq.Expressions (by @jbevain) - [MoreLINQ](https://morelinq.github.io/) - Extensions to LINQ to Objects (by @morelinq) - [Linq.Extras](https://github.com/thomaslevesque/Linq.Extras) - Extensions to LINQ to Objects, and utilities to manipulate lists and comparers (by @thomaslevesque) ### Databases - [RavenDB](https://github.com/ravendb/ravendb) - A linq enabled document database for .NET (by @ravendb) ### Miscs - [L2ST4](http://l2st4.codeplex.com) – T4 based code generation to replace the default code generated from the DBML file with LINQ to SQL - [LINQ IQueryable Toolkit](http://iqtoolkit.codeplex.com) - Build your own LINQ provider written by the mind behind LINQ to SQL - [ReLinq](http://relinq.codeplex.com) - Create full-featured LINQ providers. ReLinq is used by EF 7 and NHibernate - [LINQBridge](https://bitbucket.org/raboof/linqbridge) - Complete re-implementation of LINQ to Objects for projects targeting Microsoft .NET Framework 2.0 ## Tools - [LINQPad](http://www.linqpad.net) - An awesome tool to test and prototype LINQ queries. - [Linqer](http://sqltolinq.com) - Convert SQL query to LINQ - [LINQ to Entity query visualizer](https://visualstudiogallery.msdn.microsoft.com/99468ece-689b-481c-868c-19e00e0a4e69) - View Native SQL of LINQ to entities ObjectQuery in Visual Studio ## Samples - [101 LINQ Samples](https://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b) - Sample covering all LINQ functionality and demonstrating LINQ with SQL, DataSets, and XML - [LINQ - Sample Queries](https://code.msdn.microsoft.com/LINQ-Sample-Queries-13a42a54) - This project contains about 101 samples using LINQ ## Readings - [10 LINQ Myths](http://www.albahari.com/nutshell/10linqmyths.aspx) - Ten root causes of the most common misunderstandings - [SQL queries in LINQ](http://www.codeducky.org/sql-queries-in-linq) - [The 6 best practices for writing LINQ extension methods](http://firstclassthoughts.co.uk/Articles/Design/LINQExtensionMethodsBestPractices.html) (by @kbilsted) - [Why LINQ beats SQL](https://www.linqpad.net/WhyLINQBeatsSQL.aspx) ## Tutorials - [LINQ for Beginners](http://www.exceptionnotfound.net/linq-for-beginners/) - Let's see some examples, and explore what LINQ does for us (by @exceptionnotfound) - [LINQ: Test-Driven Learning](https://github.com/MartinChavez/LINQ) - Help the user further study LINQ with a test-driven approach (by @MartinChavez) ## Exercices - [LINQ Quiz](http://www.albahari.com/nutshell/linqquiz.aspx) - Take the following short quiz and test your knowledge of LINQ! ## Implementations - [CLinq](https://linqextensions.codeplex.com/) - LINQ support for the C++/CLI language - [go-linq](https://github.com/ahmetalpbalkan/go-linq) - .NET LINQ-like query methods for Go (by @ahmetalpbalkan) - [hxLINQ](https://github.com/andyli/hxLINQ) - An implementation of LINQ in Haxe (by @andyli) - [Jinq](https://github.com/my2iu/Jinq) - LINQ-style queries for Java 8 (by @my2iu) - [LINQ in JavaScript](https://github.com/aaronpowell/linq-in-javascript) - Use ES6 iterators for proper lazy evaluation (by @aaronpowell) - [Linq](https://github.com/pfultz2/Linq) - LINQ for list comprehension in C++ (by @pfultz2) - [Linq](https://github.com/RyujiSamejima/Linq) - Objective-C implementation of LINQ (by @RyujiSamejima) - [LinqToObjectiveC](https://github.com/ColinEberhardt/LinqToObjectiveC) - Brings a Linq-style fluent query API to Objective-C (by @ColinEberhardt) - [linq](https://github.com/fusonic/linq) - PHP implementation of LINQ 2 Objects (by @fusonic) - [linq](https://github.com/zx48/linq) - LINQ support for Go (by @zx48) - [linqts](https://github.com/kutyel/linq.ts) - LINQ for TypeScript (by @kutyel) - [linq.js](https://github.com/mihaifm/linq) - LINQ for JavaScript library packaged for node.js (by @mihaifm) - [linq4j](https://github.com/julianhyde/linq4j) - A port of LINQ (Language-Integrated Query) to Java (by @julianhyde) - [node-linq](https://github.com/contra/node-linq) - LINQ for node (by @contra) - [SINQ](https://github.com/slazyk/SINQ) - LINQ for Swift - Swift Integrated Query (by @slazyk) - [Pinq](https://github.com/TimeToogo/Pinq) - PHP Integrated Query, a real LINQ library for PHP (by @TimeToogo) - [YaLinqo](https://github.com/Athari/YaLinqo) - Yet Another LINQ to Objects for PHP (by @Athari) --- ## Lists You may want to look to [awesome-dotnet](https://github.com/quozd/awesome-dotnet) by @Quozd, [awesome-dotnet](https://github.com/Valien/awesome-dotnet) by @Valien or [awesome-test-automation (C# section)](https://github.com/atinfo/awesome-test-automation/blob/master/c%23-test-automation.md) by @atinfo. Also [.NET libraries that make your life easier](https://github.com/tallesl/.NET-libraries-that-make-your-life-easier) by @tallesl deserves a mention. Other amazingly awesome lists can be found in the [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) list, the [awesome](https://github.com/sindresorhus/awesome) list or if you want [more lists](https://github.com/jnv/lists). [linq.md Github](https://github.com/aloisdg/awesome-linq )