Fixed data type mapping for mono.

Probably a bug when using join on mono. Because of data reader, every mapping would get the last sqlEngineTypeId.
mono fix: Array index out of range

DataReader.VisibleFieldCount returns zero on mono. Use column types.Length instead.