c# – 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>();
    }

解决方法

您将需要使用Ormlite的调试版本来查看sql输出.
还有几种其他方法可以查看最后一个sql
Console.WriteLine(dbCmd.GetLastsql());

您还可以通过设置连接过滤器来配置数据库连接,您可以使用它:

var dbFact = new OrmliteConnectionFactory(
   "Data Source={0};Version=3;".Fmt(dbFileName),sqliteOrmliteDialectProvider.Instance) {
   ConnectionFilter = x => new ProfiledDbConnection(x,Profiler.Current)
};

其中如果您在ServiceStack中运行此操作将让您看到所有sql语句的异构时序输出.这里提供了一个例子:

https://gist.github.com/1787443

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...