For 2.1, we developed our own plugin model (#300) to support NodaTime, NetTopologySuite and others. Much of that work has been integrated into EF Core itself for 2.2, so we should drop our own model and reimplement the plugins in the new, standard way.
Note blocking lack of support for specifying evaluatable from plugins (dotnet/efcore#13454).