The implementationIDataReader.GetSchemaTable()
Is up to the provider-so it will vary. You can write your own providers and do it any way you want.
To be honest this is bad bit of design in the framework-You shoshould never have interface methods that return an untypedDataTable
OrDataSet
As that result cocould contain anything. kinda defeats the point of constraining it by an interface in the first place:"You must have a method that returnsDataTable
But we don't care what rows or columns it has"
Even if the provider is SQLGetSchemaTable()
Doesn' t go back to[syscolumns]
Or[sysobjects]
. That wocould be an additional DB call, require additional privileges and not work anyway, as the result set doesn't need to reflect any objects in the DB.
I'm not certain, but I 'd expect CT the vast majorityIDataReader.GetSchemaTable()
Implementations to read some properties of the meta data held with the result set.
Idatareader. getschematable