Skip to content

Instantly share code, notes, and snippets.

@dterracino
Created June 2, 2019 23:58
Show Gist options
  • Select an option

  • Save dterracino/613e6aa16a1c34885fef001e0cb263ba to your computer and use it in GitHub Desktop.

Select an option

Save dterracino/613e6aa16a1c34885fef001e0cb263ba to your computer and use it in GitHub Desktop.
GitHub README.MD info table

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 -
This is a good example of a README.MD that has a nice table with a lot of information about the various builds, docs, packages, etc., related to the project.
https://github.com/StefH/System.Linq.Dynamic.Core/blob/master/README.md
https://raw.githubusercontent.com/StefH/System.Linq.Dynamic.Core/master/README.md
(Example file is also attached)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment