Могу ли я отключить повторяющиеся предупреждения SQL MiniProfiler для блока кода?

MiniProfiler обнаруживает «дублирующиеся» SQL-запросы и дает вам красный восклицательный знак в углу, когда обнаруживает их (я использую MiniProfilerEF для ссылки на мой доступ к базе данных EF с кодом). Часто это очень полезно, но иногда эти повторяющиеся запросы полностью оправданы, например, когда я параметризованно обновляю 50 пользователей; 49 будут обнаружены как повторяющиеся запросы.

Есть ли способ отключить обнаружение повторяющихся SQL-запросов для блока кода? Что-то типа:

using (MiniProfiler.Current.Step("Do bulk updates"), Options.NoDuplicateSqlChecking) {
    // ...
}

... было бы хорошо.

Судя по коду MiniProfiler, эта строка проверяет наличие дубликатов:
https://github.com/SamSaffron/MiniProfiler/blob/master/StackExchange.Profiling/MiniProfiler.IDbProfiler.cs#L91

Не похоже, что на данный момент есть какой-либо способ сделать это. Я предполагаю, что stats.IsDuplicate никогда не нужно было бы устанавливать в true, если бы эта опция была указана, но сложно сделать это только для определенного блока кода. В качестве альтернативы, возможно, параметры, а также командная строка SQL могут быть каким-то образом учтены, поскольку они могут измениться даже при массовых операциях.


person Jez    schedule 03.05.2013    source источник


Ответы (1)


Только что нашел ответ на свой вопрос; вы можете использовать MiniProfiler.Current.Ignore(), чтобы остановить профилирование определенных разделов кода:

using (MiniProfiler.Current.Ignore()) {
    // ...
}

Это в значительной степени делает то, что я хочу; единственное небольшое раздражение заключается в том, что он вообще перестает профилировать. Я бы предпочел, чтобы он продолжал перечислять SQL-запросы, но не помечал их как дубликаты, ну да ладно.

person Jez    schedule 03.05.2013