Журналы запросов ServiceStack OrmLite Sql
В соответствии с Service Stack Ormlite documentation. Я должен сгенерировать sql-запрос в режиме отладки. Но я не могу видеть эти запросы. Простой код
private static readonly string DataDirLoc =
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) +
"\\TargetIntegration\\Test\\Debug\\";
private readonly string dbFileName = DataDirLoc +
"Test.db3";
[Test]
public void Can_Generate_log() {
//var writer = new TextWriterTraceListener(System.Console.Out);
//Debug.Listeners.Add(writer);
Debug.Write("this is a try");
var dbFact = new OrmLiteConnectionFactory("Data Source={0};Version=3;".FormatParams(dbFileName), true,
SqliteOrmLiteDialectProvider.Instance);
IDbConnection dbConnection = dbFact.OpenDbConnection();
var dbCommand = dbConnection.CreateCommand();
dbCommand.CreateTable<Contact>();
}
Ответы
Ответ 1
Вам понадобится отладочная сборка OrmLite, чтобы увидеть выход SQL.
Есть еще несколько способов, которыми вы можете просмотреть последний sql:
Console.WriteLine(dbCmd.GetLastSql());
Вы также можете профилировать соединение db, установив фильтр подключения, который вы можете сделать с помощью:
var dbFact = new OrmLiteConnectionFactory(
"Data Source={0};Version=3;".Fmt(dbFileName), true,
SqliteOrmLiteDialectProvider.Instance) {
ConnectionFilter = x => new ProfiledDbConnection(x, Profiler.Current)
};
Что, если вы запустили это в ServiceStack, вы сможете увидеть профилированные выходные данные времени всех операторов SQL. Пример того, как это выглядит, можно найти здесь:
https://gist.github.com/1787443