Microsoft.EntityFrameworkCore.DynamicLinq

Dynamic Linq extensions for Microsoft.EntityFrameworkCore which adds Async support


Keywords
dynamic, linq, async, system, core, entityframework, entity-framework, expression, lamda, netstandard, sql
License
Other
Install
Install-Package Microsoft.EntityFrameworkCore.DynamicLinq -Version 1.0.15

Documentation

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)");

How to use

There are several documentation resources:

  • Wiki : an overview from the basic functionality (correctness ~ 80%)
  • API Documentation : a low-level API description website with some code samples
  • DynamicLinqWebDocs (TODO)

Info

Project  
  Chat Gitter
  Issues GitHub issues
Quality  
  Build Azure Build Status Azure
  CodeFactor CodeFactor
  Sonar Quality Gate Sonar Quality Gate
  Sonar Bugs Sonar Bugs
  Sonar Code Smells Sonar Code Smells
  Sonar Coverage Sonar Coverage
  Codecov codecov
  Coveralls Coverage Status
Nuget  
  System.Linq.Dynamic.Core NuGet
  EntityFramework.DynamicLinq NuGet
  Microsoft.EntityFrameworkCore.DynamicLinq NuGet
MyGet (previews)  
  System.Linq.Dynamic.Core MyGet
  EntityFramework.DynamicLinq MyGet
  Microsoft.EntityFrameworkCore.DynamicLinq MyGet

Development Details

Frameworks

The following frameworks are supported:

  • net35, net40, net45, net46 and up
  • netstandard1.3 & netstandard2.0
  • uap10.0 (UAP 10.0.14393.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 -