DbDataReader.GetFieldValue<T> was implemented recently https://github.com/mono/mono/blob/mono-3.12.1/mcs/class/System.Data/System.Data.Common/DbDataReader.cs#L192
However it looks like historically SqlDataReader.GetFieldValue<T> was setup to throw a NotImplementedException and this was not removed when the base implementation was added https://github.com/mono/mono/blob/master/mcs/class/System.Data/System.Data.SqlClient/SqlDataReader.cs#L1410
This blocks usage of GetFieldValue<T> on SqlServer, but just removing the overload would allow the base implementation to be used.
Mono 5.10 has significantly improved System.Data implementation which should resolve this issue. If you can still reproduce it please reopen the issue.