Я использую oracleclient, создав DbProviderFactory и получаю схему:
DbDataReader reader = cmdForSchema.ExecuteReader(CommandBehavior.KeyInfo);
DataTable schemaTable = reader.GetSchemaTable();
однако и float, и number имеют DbType.Decimal в качестве своего DataType в schemaTable. По крайней мере, мы используем NUMBER для целых чисел, и было бы неплохо узнать, что это?
Кажется, я помню, что есть способ получить типы, специфичные для провайдера. Но у этого есть и обратная сторона, так как он больше не является общим (например, для SqlServer).
Спасибо и BR: Матти