簡體   English   中英

ServiceStack OrmLite Sql查詢日志記錄

[英]ServiceStack OrmLite Sql Query Logging

根據Service Stack Ormlite文檔 我應該在調試模式下生成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>();
    }

您需要OrmLite的調試版本才能看到SQL輸出。 您還可以通過其他幾種方式查看最后一個sql:

Console.WriteLine(dbCmd.GetLastSql());

您還可以通過設置連接篩選器來分析數據庫連接,您可以執行以下操作:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM