graphql_entityframeworkcore_dynamiclinq - GraphQL.EntityFrameworkCore.DynamicLinq 0.0.1-ci-11614

GraphQL EntityFrameworkCore Dynamic Linq extensions to query GraphQL types dynamically

PM> Install-Package GraphQL.EntityFrameworkCore.DynamicLinq -Version 0.0.1-ci-11614 -Source https://www.myget.org/F/graphql_entityframeworkcore_dynamiclinq/api/v3/index.json

Copy to clipboard

> nuget.exe install GraphQL.EntityFrameworkCore.DynamicLinq -Version 0.0.1-ci-11614 -Source https://www.myget.org/F/graphql_entityframeworkcore_dynamiclinq/api/v3/index.json

Copy to clipboard

> dotnet add package GraphQL.EntityFrameworkCore.DynamicLinq --version 0.0.1-ci-11614 --source https://www.myget.org/F/graphql_entityframeworkcore_dynamiclinq/api/v3/index.json

Copy to clipboard
<PackageReference Include="GraphQL.EntityFrameworkCore.DynamicLinq" Version="0.0.1-ci-11614" />
Copy to clipboard
source https://www.myget.org/F/graphql_entityframeworkcore_dynamiclinq/api/v3/index.json

nuget GraphQL.EntityFrameworkCore.DynamicLinq  ~> 0.0.1-ci-11614
Copy to clipboard

> choco install GraphQL.EntityFrameworkCore.DynamicLinq --version 0.0.1-ci-11614 --source https://www.myget.org/F/graphql_entityframeworkcore_dynamiclinq/api/v2

Copy to clipboard
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-11614" -Repository "graphql_entityframeworkcore_dynamiclinq" -AllowPreRelease
Copy to clipboard

Library Powered By

This library is powered by Entity Framework Extensions

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 Gitter
  Issues GitHub issues
Quality  
  CI Workflow CI Workflow
  SonarCloud Quality Gate Status
NuGet  
  System.Linq.Dynamic.Core NuGet
  EntityFramework.DynamicLinq NuGet
  Microsoft.EntityFrameworkCore.DynamicLinq NuGet
  Z.EntityFramework.Classic.DynamicLinq NuGet

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

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

Owners

Stef

Authors

Stef Heyenrath

Project URL

https://github.com/StefH/System.Linq.Dynamic.Core

License

Apache-2.0

Tags

GraphQL entityframework core dynamiclinq

Info

185 total downloads
3 downloads for version 0.0.1-ci-11614
Download (33.25 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