SqlLinq 2.0.0
dotnet add package SqlLinq --version 2.0.0
NuGet\Install-Package SqlLinq -Version 2.0.0
<PackageReference Include="SqlLinq" Version="2.0.0" />
<PackageVersion Include="SqlLinq" Version="2.0.0" />
<PackageReference Include="SqlLinq" />
paket add SqlLinq --version 2.0.0
#r "nuget: SqlLinq, 2.0.0"
#:package SqlLinq@2.0.0
#addin nuget:?package=SqlLinq&version=2.0.0
#tool nuget:?package=SqlLinq&version=2.0.0
SqlLinq
Dynamic .NET SQL queries
This project started as an experiment that allowed me to write dynamic SQL-like inline queries so I could explore the nature of my collection of MP3 files. This original project is on CodeProject: http://www.codeproject.com/Articles/28163/SqlLinq-Taking-LINQ-to-SQL-in-the-Other-Direction.
That original code was refined to being a basic implementation of SQL select statements. That code was also published and described on CodeProject: http://www.codeproject.com/Articles/43678/Dynamically-evaluated-SQL-LINQ-queries
It isn't a replacement for Linq but it can come in handy when the data model being queried or the exact structure of one's query results aren't known at compile time.
Version 2.0 updates SqlLinq for .NET Standard, and adds extensibility points to add custom SQL functions and syntax.
Thanks to dkackman for creating SqlLinq and for letting it carry on here.
Quick start
dotnet add package SqlLinq
using SqlLinq;
// Query() can select over typed objects, dictionaries, or dynamic objects
// queries support WHERE, GROUP BY, HAVING, ORDER BY, aggregates, and joins.
// "this" is the source collection.
var adults = people.Query("SELECT * FROM this WHERE Age >= 18 ORDER BY Name");
Joins
// "that" is the joined collection.
var members = people.Query<Person, Family, IDictionary<string, object>>(
"SELECT Name, that.Name AS Family FROM this INNER JOIN that ON this.Address = that.Address",
families);
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- LinqStatistics (>= 2.3.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on SqlLinq:
| Package | Downloads |
|---|---|
|
SqlLinq.TimeSeries
Time series queries for SqlLinq. |
|
|
SqlLinq.Units
Unit conversion in SqlLinq queries, using UnitsNet.Metadata. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.0 | 61 | 11/6/2026 |
| 2.0.0-rc.1 | 51 | 11/6/2026 |
| 1.0.2 | 4,740 | 5/11/2014 |