0

OrmLite 生成的 Sql 语句如何登录到像 NLog 这样的日志框架的最佳方式是什么?我知道DbConnection 上的GetLastSql()方法,但还有其他方法吗?

我们希望在数据层中使用 OrmLite,并有可能记录 Windows 窗体应用程序的所有生成的 sql,该应用程序有几年,所有的 sql 都写在 GUI 中。性能是一个问题,所以我们决定使用 OrmLite(无上下文方法)

4

1 回答 1

2

您必须创建自己的 ProfiledDbConnection 类实现,将日志写入 NLog。现在,当您创建 OrmLiteConnectionFactory 类集连接过滤器的实例时,您可以这样做:

 var db = new OrmLiteConnectionFactory(
   "ConnectionString", true, 
   SqliteOrmLiteDialectProvider.Instance) {
   ConnectionFilter = x => new ProfiledDbConnection(x, Profiler.Current)
};

这里有 ProfiledDbConnection 的 src https://github.com/ServiceStack/ServiceStack/blob/master/src/ServiceStack/MiniProfiler/Data/ProfiledDbConnection.cs

于 2013-07-30T16:05:08.723 回答