Если у вас есть хранилище со свойством
Oracle.ManagedDataAccess.Client.OracleConnection DbConn
Вы можете абстрагировать это с помощью базового класса
System.Data.Common.DbConnection DbConn
Теперь, основываясь на нужной вам функции, вы можете передать либо Oracle.ManagedDataAccess.Client.OracleConnection
или Oracle.DataAccess.Client.OracleConnection
.
Большинство функций будут работать с обеими версиями, но BulkCopy
будет работать только с неуправляемыми. Так что в вашем коде просто сделайте
if (DbConn is Oracle.DataAccess.Client.OracleConnection conn)
{
//. . . . Do your bulk copy
}
else
throw new InvalidOperationException("Bulk copy supported only by un-managed ODP");