Как получить запрос sql из асинхронного запроса к структуре сущности? [Дубликат]

  from stat import S_ISDIR def isdir (path): try: return S_ISDIR (sftp.stat (путь) .st_mode), за исключением IOError: #Path не существует, поэтому по определению не возвращается каталог False  

... предполагая, что sftp - это открытое SFTP-соединение Paramiko.

24
задан PC. 22 May 2014 в 11:52
поделиться

2 ответа

Запись и перехват операций с базой данных в MSDN - это то, что вы ищете.

Свойству DbContext.Database.Log можно назначить делегату для любого метода, который принимает строку , Чаще всего он используется с любым TextWriter, устанавливая его на метод «Write» этого TextWriter. Все SQL, сгенерированные текущим контекстом, будут записываться в этот файл. Например, следующий код будет записывать SQL на консоль:

using (var context = new BlogContext())
{
    context.Database.Log = Console.Write;

    // Your code here...
}
41
ответ дан Andrew 16 August 2018 в 04:54
поделиться
  • 1
    fyi: если вы используете context.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);, тогда он будет регистрироваться только в режиме Debug. Вызовы System.Diagnostics.Debug игнорируются в режиме деблокирования. – Al Dass 20 October 2015 в 21:26
  • 2
    или вы можете обернуть эту строку кода в метод, украшенный атрибутом [Conditional("Debug")] – Andrew 21 October 2015 в 07:50
  • 3
    @Andrew, Можете ли вы сказать мне, где это действие Database.log вызывается под капотом? – user 29 January 2017 в 15:33

Вы можете использовать эту строку для входа в окно «Выход», а не в окне консоли, снова в режиме отладки.

public class YourContext : DbContext
{   
    public YourContext()
    {
        Database.Log = sql => Debug.Write(sql);
    }
}
16
ответ дан Dennis Mieszala 16 August 2018 в 04:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: