Профилирование соединения DB2 с MiniProfier
Я пытаюсь добавить MiniProfiler в мои соединения с DB2. Ниже мой упрощенный код.
public void InitializeConnection()
{
DB2Connection cnn = new DB2Connection("connection String");
var profiler =
new StackExchange.Profiling.Data.ProfiledDbConnection(cnn, MiniProfiler.Current);
IDbCommand c = new DB2Command();
c.Connection = profiler ;
}
Моя проблема возникает в последней строке, где профилировщик назначен свойству соединения DB2Command. Я получаю ошибку ниже.
Невозможно привести объект типа "StackExchange.Profiling.Data.ProfiledDbConnection" к типу "IBM.Data.DB2.DB2Connection". Я попробовал несколько различных идей преобразования, но ничего не получилось.
2 ответа
Я думаю, что вы идете в обратном направлении. Вы назначаете соединение ProfiledDbConnection
класс (как кажется, основанный на документации на сайте MiniProfiler).
Однако затем вы создаете объект команды, специфичный для DB2, и пытаетесь назначить ProfiledDbConnection
класс для объекта подключения.
Я думаю, что вы хотите сделать, это позвонить profiler.CreateDbCommand()
, который создаст ProfiledDbCommand
объект, который использует класс DB2Command "под одеялом".
DB2Command.Connection
свойство имеет тип DB2Connection
(как подсказывает вам сообщение об ошибке). Пытаться DbConnection
вместо:
c.DbConnection = profiler