graphql_entityframeworkcore_dynamiclinq - GraphQL.EntityFrameworkCore.DynamicLinq 0.0.1-ci-11704
GraphQL EntityFrameworkCore Dynamic Linq extensions to query GraphQL types dynamically
PM> Install-Package GraphQL.EntityFrameworkCore.DynamicLinq -Version 0.0.1-ci-11704 -Source https://www.myget.org/F/graphql_entityframeworkcore_dynamiclinq/api/v3/index.json
> nuget.exe install GraphQL.EntityFrameworkCore.DynamicLinq -Version 0.0.1-ci-11704 -Source https://www.myget.org/F/graphql_entityframeworkcore_dynamiclinq/api/v3/index.json
> dotnet add package GraphQL.EntityFrameworkCore.DynamicLinq --version 0.0.1-ci-11704 --source https://www.myget.org/F/graphql_entityframeworkcore_dynamiclinq/api/v3/index.json
<PackageReference Include="GraphQL.EntityFrameworkCore.DynamicLinq" Version="0.0.1-ci-11704" />
Copy to clipboard
source https://www.myget.org/F/graphql_entityframeworkcore_dynamiclinq/api/v3/index.json
nuget GraphQL.EntityFrameworkCore.DynamicLinq ~> 0.0.1-ci-11704
Copy to clipboard
> choco install GraphQL.EntityFrameworkCore.DynamicLinq --version 0.0.1-ci-11704 --source https://www.myget.org/F/graphql_entityframeworkcore_dynamiclinq/api/v2
Import-Module PowerShellGet
Register-PSRepository -Name "graphql_entityframeworkcore_dynamiclinq" -SourceLocation "https://www.myget.org/F/graphql_entityframeworkcore_dynamiclinq/api/v2"
Install-Module -Name "GraphQL.EntityFrameworkCore.DynamicLinq" -RequiredVersion "0.0.1-ci-11704" -Repository "graphql_entityframeworkcore_dynamiclinq" -AllowPreRelease
Copy to clipboard
Library Powered By
This library is powered by Entity Framework Extensions
System.Linq.Dynamic.Core
This is a .NET Core / Standard port of the Microsoft assembly for the .Net 4.0 Dynamic language functionality.
Overview
With this library it's possible to write Dynamic LINQ queries (string based) on an IQueryable
:
var query = db.Customers
.Where("City == @0 and Orders.Count >= @1", "London", 10)
.OrderBy("CompanyName")
.Select("new(CompanyName as Name, Phone)");
Interpolated strings are supported on .NET 4.6(and above), .NET Core 2.1(and above), .NET Standard 1.3(and above) and UAP 10.0(and above). For example:
string cityName = "London";
int c = 10;
db.Customers.WhereInterpolated($"City == {cityName} and Orders.Count >= {c}");
:exclamation: Breaking changes
v1.3.0
A breaking change is introduced in version 1.3.0 which is related to calling methods on classes.
Due to security reasons, it's now only allowed to call methods on the standard predefined classes like (bool
, int
, string
...).
If you want to call a method on an own custom class, annotate that class with the DynamicLinqType.
Example:
[DynamicLinqType]
public class MyCustomClass
{
public int GetAge(int x) => x;
}
If it's not possible to add that attribute, you need to implement a custom CustomTypeProvider and set this to the ParsingConfig
and provide that config to the dynamic call.
Useful links
Info
Project | |
Chat | |
Issues | |
Quality | |
CI Workflow | |
SonarCloud | |
NuGet | |
System.Linq.Dynamic.Core | |
EntityFramework.DynamicLinq | |
Microsoft.EntityFrameworkCore.DynamicLinq | |
Z.EntityFramework.Classic.DynamicLinq |
Development Details
Frameworks
The following frameworks are supported:
- net35, net40, net45, net46 and up
- netstandard1.3, netstandard2.0 and netstandard2.1
- netcoreapp3.1, net5.0, net6.0, net7.0 and net8.0
- uap10.0
Fork details
This fork takes the basic library to a new level. Contains XML Documentation and examples on how to use it. Also adds unit testing to help ensure that it works properly.
Some background:
I forked from https://github.com/NArnott/System.Linq.Dynamic and added some more functionality there.
My fork is still visible on github [https://github.com/StefH/System.Linq.Dynamic], however I decided to start a new project + nuget to avoid confusion and create the project according to the new VS2017 + .NET Core rules / standards.
However, currently there are multiple nuget packages and projects available:
Project | NuGet | Author | Comment |
---|---|---|---|
kahanu/System.Linq.Dynamic | System.Linq.Dynamic | @kahanu | - |
kavun/System.Linq.Dynamic.3.5 | System.Linq.Dynamic.3.5/ | @kavun | only 3.5 and VB.NET |
NArnott/System.Linq.Dynamic | System.Linq.Dynamic.Library | @NArnott | removed from github + nuget ? |
dynamiclinq.codeplex | - | dialectsoftware | - |
dynamic-linq | - | scottgu | - |
Contribute
The best way to contribute is by spreading the word about the library:
- Blog it
- Comment it
- Star it
- Share it
A HUGE THANKS for your help.
More Projects
- Projects:
- Learn Websites
- Online Tools:
- and much more!
To view all our free and paid projects, visit our website ZZZ Projects.
See CHANGELOG.md
-
.NETFramework 4.5.1
- GraphQL (>= 2.4.0)
- Microsoft.EntityFrameworkCore.DynamicLinq (>= 1.0.18)
-
.NETStandard 1.3
- GraphQL (>= 2.4.0)
- Microsoft.EntityFrameworkCore.DynamicLinq (>= 1.0.18)
- NETStandard.Library (>= 1.6.1)
-
.NETStandard 2.0
- GraphQL (>= 2.4.0)
- Microsoft.EntityFrameworkCore.DynamicLinq (>= 1.0.18)
- .NETFramework 4.5.1: 4.5.1.0
- .NETStandard 1.3: 1.3.0.0
- .NETStandard 2.0: 2.0.0.0
OwnersStef |
AuthorsStef Heyenrath |
Project URLhttps://github.com/StefH/System.Linq.Dynamic.Core |
LicenseApache-2.0 |
TagsGraphQL entityframework core dynamiclinq |
Info185 total downloads |
3 downloads for version 0.0.1-ci-11704 |
Download (35.75 KB) |
Found on the current feed only |
Package history
Version | Size | Last updated | Downloads | Mirrored? | |||
---|---|---|---|---|---|---|---|
1.0.2-ci-14869 | 37.32 KB | Wed, 31 Mar 2021 06:01:51 GMT | 3 | ||||
1.0.2-ci-14867 | 37.33 KB | Wed, 31 Mar 2021 00:56:38 GMT | 3 | ||||
1.0.2-ci-14782 | 37.32 KB | Wed, 10 Mar 2021 04:27:19 GMT | 3 | ||||
1.0.2-ci-13747 | 37.33 KB | Fri, 11 Sep 2020 02:40:45 GMT | 3 | ||||
1.0.2-ci-13745 | 37.32 KB | Thu, 10 Sep 2020 10:19:35 GMT | 3 | ||||
1.0.2-ci-13731 | 37.32 KB | Fri, 04 Sep 2020 22:46:06 GMT | 3 | ||||
1.0.2-ci-13729 | 37.32 KB | Fri, 04 Sep 2020 17:33:35 GMT | 3 | ||||
1.0.2-ci-13726 | 37.32 KB | Fri, 04 Sep 2020 15:22:40 GMT | 3 | ||||
1.0.2-ci-13656 | 37.16 KB | Sat, 01 Aug 2020 10:33:24 GMT | 3 | ||||
1.0.2-ci-13648 | 37.16 KB | Fri, 31 Jul 2020 13:29:32 GMT | 3 | ||||
1.0.2-ci-13623 | 37.17 KB | Sun, 19 Jul 2020 07:24:04 GMT | 3 | ||||
1.0.2-ci-13619 | 37.16 KB | Fri, 17 Jul 2020 23:53:18 GMT | 3 | ||||
1.0.2-ci-13598 | 37.17 KB | Wed, 08 Jul 2020 02:35:18 GMT | 3 | ||||
1.0.2-ci-13596 | 37.16 KB | Tue, 07 Jul 2020 22:19:39 GMT | 3 | ||||
1.0.2-ci-13450 | 37.16 KB | Sun, 07 Jun 2020 17:46:03 GMT | 3 | ||||
1.0.2-ci-13448 | 37.16 KB | Sun, 07 Jun 2020 03:43:45 GMT | 3 | ||||
1.0.2-ci-13262 | 37.16 KB | Thu, 30 Apr 2020 14:11:31 GMT | 2 | ||||
1.0.2-ci-13260 | 37.16 KB | Thu, 30 Apr 2020 10:54:51 GMT | 3 | ||||
1.0.2-ci-13181 | 37.16 KB | Thu, 16 Apr 2020 23:21:25 GMT | 3 | ||||
1.0.2-ci-13175 | 37.16 KB | Thu, 16 Apr 2020 19:38:42 GMT | 3 | ||||
1.0.2-ci-13126 | 37.16 KB | Sun, 05 Apr 2020 17:45:25 GMT | 3 | ||||
1.0.2-ci-13118 | 37.16 KB | Sat, 04 Apr 2020 22:36:06 GMT | 3 | ||||
1.0.2-ci-12497 | 39.68 KB | Sat, 18 Jan 2020 17:59:42 GMT | 3 | ||||
1.0.2-ci-12493 | 39.02 KB | Sat, 18 Jan 2020 10:33:19 GMT | 2 | ||||
1.0.2-ci-12491 | 37.16 KB | Fri, 17 Jan 2020 06:03:16 GMT | 3 | ||||
1.0.2-ci-12490 | 37.15 KB | Thu, 16 Jan 2020 17:43:22 GMT | 4 | ||||
1.0.2-ci-12477 | 37.16 KB | Wed, 15 Jan 2020 19:45:06 GMT | 3 | ||||
1.0.1-ci-12462 | 35.64 KB | Tue, 14 Jan 2020 13:09:52 GMT | 3 | ||||
1.0.1-ci-12461 | 35.65 KB | Tue, 14 Jan 2020 13:09:48 GMT | 3 | ||||
1.0.1-ci-12460 | 35.65 KB | Tue, 14 Jan 2020 13:09:48 GMT | 2 | ||||
1.0.1-ci-12459 | 35.65 KB | Tue, 14 Jan 2020 13:09:48 GMT | 3 | ||||
1.0.1-ci-12457 | 35.65 KB | Tue, 14 Jan 2020 13:09:59 GMT | 3 | ||||
1.0.1-ci-12456 | 35.65 KB | Tue, 14 Jan 2020 11:09:25 GMT | 3 | ||||
1.0.1-ci-12454 | 35.65 KB | Tue, 14 Jan 2020 08:17:56 GMT | 3 | ||||
1.0.1-ci-12447 | 35.65 KB | Sun, 12 Jan 2020 11:54:36 GMT | 2 | ||||
1.0.1-ci-12446 | 35.65 KB | Sun, 12 Jan 2020 09:30:45 GMT | 3 | ||||
1.0.1-ci-12445 | 35.65 KB | Sat, 11 Jan 2020 09:33:56 GMT | 2 | ||||
1.0.1-ci-12444 | 35.66 KB | Sat, 11 Jan 2020 08:38:19 GMT | 3 | ||||
1.0.1-ci-12019 | 35.67 KB | Sat, 12 Oct 2019 16:32:48 GMT | 3 | ||||
1.0.0-ci-11875 | 35.74 KB | Sat, 07 Sep 2019 14:52:59 GMT | 2 | ||||
0.0.2-ci-11723 | 35.76 KB | Mon, 19 Aug 2019 17:13:43 GMT | 3 | ||||
0.0.1-ci-11722 | 35.75 KB | Mon, 19 Aug 2019 17:10:26 GMT | 3 | ||||
0.0.1-ci-11705 | 35.75 KB | Mon, 19 Aug 2019 06:03:32 GMT | 3 | ||||
0.0.1-ci-11704 | 35.75 KB | Mon, 19 Aug 2019 05:57:08 GMT | 3 | ||||
0.0.1-ci-11703 | 35.75 KB | Sun, 18 Aug 2019 15:28:05 GMT | 3 | ||||
0.0.1-ci-11640 | 35.8 KB | Thu, 15 Aug 2019 20:27:12 GMT | 3 | ||||
0.0.1-ci-11634 | 36.38 KB | Thu, 15 Aug 2019 18:54:13 GMT | 3 | ||||
0.0.1-ci-11630 | 36.77 KB | Wed, 14 Aug 2019 20:50:50 GMT | 3 | ||||
0.0.1-ci-11628 | 36.78 KB | Wed, 14 Aug 2019 20:50:21 GMT | 3 | ||||
0.0.1-ci-11626 | 36.78 KB | Wed, 14 Aug 2019 20:47:51 GMT | 3 | ||||
0.0.1-ci-11624 | 36.78 KB | Wed, 14 Aug 2019 20:44:02 GMT | 2 | ||||
0.0.1-ci-11618 | 33.25 KB | Wed, 14 Aug 2019 08:55:36 GMT | 3 | ||||
0.0.1-ci-11616 | 33.25 KB | Wed, 14 Aug 2019 07:49:32 GMT | 3 | ||||
0.0.1-ci-11614 | 33.25 KB | Wed, 14 Aug 2019 07:17:54 GMT | 3 | ||||
0.0.1-ci-11612 | 31.9 KB | Tue, 13 Aug 2019 17:45:19 GMT | 3 | ||||
0.0.1-ci-11610 | 31.89 KB | Tue, 13 Aug 2019 17:22:20 GMT | 3 | ||||
0.0.1-ci-11606 | 31.9 KB | Tue, 13 Aug 2019 07:41:52 GMT | 3 | ||||
0.0.1-ci-11604 | 30.18 KB | Mon, 12 Aug 2019 19:18:32 GMT | 3 | ||||
0.0.1-ci-11603 | 29.86 KB | Mon, 12 Aug 2019 16:28:55 GMT | 2 | ||||
0.0.1-ci-11602 | 28.61 KB | Mon, 12 Aug 2019 07:25:02 GMT | 2 | ||||
0.0.1-ci-11589 | 28.61 KB | Sun, 11 Aug 2019 14:22:20 GMT | 2 | ||||
0.0.1-ci-11587 | 28.61 KB | Sun, 11 Aug 2019 13:58:26 GMT | 3 | ||||
0.0.1-ci-11585 | 28.61 KB | Sun, 11 Aug 2019 13:51:41 GMT | 2 | ||||
0.0.1-ci-11583 | 28.61 KB | Sun, 11 Aug 2019 13:46:42 GMT | 3 | ||||
0.0.1-ci-11581 | 28.61 KB | Sun, 11 Aug 2019 13:38:37 GMT | 3 |