Most of the ADO.NET APIs in .NET Core are relatively intact from the full .NET Framework with only minor changes. This is especially true of low-level ADO.NET APIs from
IDataReader, as well as the “provider model”. These APIs and patterns are all fully intact in .NET Core.
When Microsoft dropped
DataAdapter from initial versions of .Net core, most of the developers in the .NET community seem to think this is a good idea from a purity and cleanliness approach. Microsoft views the DataSet/DataTable/DataAdapter pattern as legacy. But Microsoft brought these back from .Net core 2.0, to make porting from .Net Framework to .Net core easy.
The recommended approach for replacing DataSet/DataTable/DataAdapter usages is to rewrite the data access classes in these areas using another library or framework. The decision on which library to utilize will have to be made on a per-project or per-library basis.
Some recommended approaches: