The connection object is inside the query object you're producing, check the query's Connection property
. So in the Create query methods you implement, simply do a call to a method you write to set the appropriate mappings and pass in query.Connection. It's DbConnection typed, so you need to cast to the proper type. There's a workaround, see below.
You can also do this in the adapter, not the DQE, as it's IMHO easier. Override in a partial class of DataAccessAdapter the method 'CreateNewPhysicalConnection'. Call the base, then call the method you want.
But why not solve it in the driver? The OracleDBDriver.ConvertDBTypeToNETType method is the one you should alter.
It gives you different .NET types for NUMBER(x, y) than for ODP.NET. This is OK unless you want to swap DQEs at will, then you need the mappings in the DQE of course and not in the Adapter either.
If you don't want to have the hard reference to devart, you can use reflection to set properties and compile a delegate for the property setter. We do that too for ODP.NET specific properties. See OracleSpecificCreator.SetDbProviderFactoryParameterData for how we do this. It should be straight forward, but it might be you need the types anyway so a hard reference might be the only way.