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