Add support for dynamically extended queries as per LinqKit

The package LINQKit, a solution for making queries dynamically extendable at runtime, currently sits at half a million downloads for EF Core alone, with much more for traditional EF.

The old uservoice forums had an issue with 114 upvotes, which puts it on the frontpage of that now shuttered forum.

Dynamic queries like PredicateBuilder currently only exist as an external solution (as part of LINQKit). It would be preferable to have this functionality be part of EF Core.
There are a dozen advantages for including this upstream:

  • No breakage of LINQKit with new EF Core Versions
  • Functionality should be part of the Core anyway, since what it offers fits the use cases attempted by EF Core pretty well
  • The maintainers themselves link to the uservoice forum, asking people to upvote inclusion in upstream
  • some parts of LINQKit could be optimized since then not everything would need to be extension methods, there are a lot of possibilities with API and Code Generation