This may be a question answered somewhere, but I can\'t seem to find an answer.
I am working on a project to port Mono.Data.Sqlite to Windows Phone and Windows Store
While Anders approach is technically sound (and is exactly how we implemented the "modern" surface area of .NET Core) it is not free of challenges.
If you're only using this approach for libraries that you reuse from your own applications then it can work very well. However, if you want to ship your component to 3rd parties, for example, via NuGet then this approach doesn't scale as the ecosystem has to agree on what is the one representation on the platforms that don't include the type already. That's why we keep shipping portability packs, such Microsoft.Bcl.Async where we do that work for the community.
System.Data is on our radar, in particular System.Data.Common so that we can enable 3rd party SQL providers, such as SQLite, to share the abstractions and common utilities (DBNull) across all platforms. We don't have an ETA for that work, but it's certainly on our TODO list.