gpt4 book ai didi

c# - ServiceStack OrmLite Sql 查询日志记录

转载 作者:可可西里 更新时间:2023-11-01 09:03:15 28 4
gpt4 key购买 nike

根据 Service Stack Ormlite documentation .我应该在 Debug模式下生成 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

关于c# - ServiceStack OrmLite Sql 查询日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11530943/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com