What is the difference between System.Linq.Dynamic.Core and System.Linq.Dynamic? I am currently using System.Linq.Dynamic and it does not contain support for Select and SelectMany (among other extension methods). Does System.Linq.Dynamic.Core support these methods?
System.Linq.Dynamic is the Microsoft assembly for the .Net 4.0 Dynamic language functionality. System.Linq.Dynamic.Core is a .NET Core port of the the Microsoft assembly for the .Net 4.0 Dynamic language functionality.
The Dynamic LINQ library exposes a set of extension methods on IQueryable corresponding to the standard LINQ methods at Queryable, and which accept strings in a special syntax instead of expression trees.
And Dynamic Linq is actually composed from strings, therefore it is potentially prone to attack by injection. Obviously, the attacker will have to be aware of the fact that you are using DynamicLinq and could attack only preparing the data so it results in valid malicious Dynamic Linq query.
System.Linq.Dynamic.Core is more up to date and has more functionality and does also support NET Core / NETStandard (besides net35, net40 and net45 and up)
SelectMany is indeed supported.
For more information see the github page and browse the examples, unit-tests and help page.
Note: I'm the maintainer from this project.
See description on github:
System.Linq.Dynamic
System.Linq.Dynamic.Core
System.Linq.Dynamic is the Microsoft assembly for the .Net 4.0 Dynamic language functionality. System.Linq.Dynamic.Core is a .NET Core port of the the Microsoft assembly for the .Net 4.0 Dynamic language functionality
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With