You might be interested in Rezoom.SQL [1], which is exactly the thing you describe.
As an aside, it also has unusually thorough documentation [2] by F# standards.
See quicktype, for example, which supports a lot of languages.
This isn't built in to the editor, but can be run from the command line. A benefit is that it does not suffer from the other problems with type providers, like not supporting the full language, (e.g., records and discriminated unions in F#).
Slightly more convenient for one source becomes very convenient as the amount of data your analyzing increases. It's not the be-all-end-all it was promised to be as a feature but it is easier than code generation IMO. If you can get rid of the disadvantages by keeping reference schema locally in its native form (e.g no flakiness you mention) then why not use it?