Moh*_*hit 10 c# servicestack ormlite-servicestack
根据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>();
}
Run Code Online (Sandbox Code Playgroud)
myt*_*thz 15
您需要OrmLite的调试版本才能看到SQL输出.您还可以通过其他几种方式查看最后一个sql:
Console.WriteLine(dbCmd.GetLastSql());
Run Code Online (Sandbox Code Playgroud)
您还可以通过设置连接筛选器来分析数据库连接,您可以执行以下操作:
var dbFact = new OrmLiteConnectionFactory(
"Data Source={0};Version=3;".Fmt(dbFileName), true,
SqliteOrmLiteDialectProvider.Instance) {
ConnectionFilter = x => new ProfiledDbConnection(x, Profiler.Current)
};
Run Code Online (Sandbox Code Playgroud)
如果您在ServiceStack中运行它,将允许您查看所有SQL语句的配置文件定时输出.这里有一个例子可以在这里找到:
https://gist.github.com/1787443