As* methods return another interface without iterating the source, while To* iterates over it and creates a new object.
In your case, AsDataReader should be the right choice, since you do not AsDataReader over the source code when creating the DataReader , but only when the user calls methods on it.
Femaref
source share