MvcMiniProfiler не работает с объектом соединения Oracle - PullRequest
1 голос
/ 29 июля 2011

последняя строка следующего кода вызывает исключение: OracleConnection conn = new OracleConnection (getConnectionString ());

        // A SqlConnection, SqliteConnection ... or whatever          
        // wrap the connection with a profiling connection that tracks timings      
        var cnn = MvcMiniProfiler.Data.ProfiledDbConnection.Get(conn, MiniProfiler.Current); 
        OracleCommand cmd = new OracleCommand(sql, (OracleConnection) cnn);

Что:

Unable to cast object of type 'MvcMiniProfiler.Data.ProfiledDbConnection' to type 'Oracle.DataAccess.Client.OracleConnection'.

Я используюПоставщик данных Oracle.То же самое происходит с devArt для оракула. ​​

Спасибо:)

1 Ответ

2 голосов
/ 29 июля 2011

Это связано с тем, что вам нужно рассматривать его как abstract connection и использовать существующие методы CreateCommand, CreateParameter etc в базовом классе / интерфейсе. Или, если вы хотите избежать этой путаницы - что-то вроде «брезгливости» (или любого другого служебного уровня ADO.NET) избавит вас от боли.

Причина в том, что профилировщик «украшает» соединение, что, в свою очередь, означает, что он должен декорировать другие объекты и развернуть их в нужное время. Именно так можно профилировать ADO.NET таким образом

...