有没有办法将生成的sql转储到Debug日志或其他什么?我在winforms解决方案中使用它,因此迷你探测器的想法对我不起作用.
我有一个标准代码:
public IEnumerable ExperimentSelect(object parameters)
{
using (var connection = new SqlConnection(ConnectionString))
{
connection.Open();
var dynamicparam = new DynamicParameters(parameters);
var rows = connection.Query("[dbo].[ptbSapOrderSelect]", dynamicparam,
commandType: CommandType.StoredProcedure);
if (rows.Any())
TotalRows = ((long)rows.ToList()[0].TotalRows);
return rows;
}
}
Run Code Online (Sandbox Code Playgroud)
如何使用例如NLog自动将Dapper生成的查询保存到文件中?我正在考虑获取SQL查询源中显示的SQL查询源.
我在 Postgres 中使用 Dapper,我想记录一些诊断信息,尤其是正在运行的实际查询。
如果我使用的是 SQL Server,我会这样做
let connection = new SqlConnection(connectionString)
connection.StatisticsEnabled = true
// run query
let stats = connection.RetrieveStatistics()
Run Code Online (Sandbox Code Playgroud)
但我似乎找不到类似的东西NpgsqlConnection。
检索正在运行的实际查询的最佳方法是NpgsqlConnection什么?
我正在使用SQLite,Dapper和DapperExtensions,这些都是最新的NuGet.
这是我的表的架构......
CREATE TABLE `LibraryInfo` (
`Id` INTEGER NOT NULL,
`Name` TEXT NOT NULL CHECK(length ( Name ) > 0),
`Description` TEXT,
`Version` TEXT NOT NULL CHECK(length ( Version ) > 0),
PRIMARY KEY(Id)
);
Run Code Online (Sandbox Code Playgroud)
在其中我有一行包含以下数据
Id ="0"
Name ="Test Library"
Description ="这是测试库"
Version ="1.2.3.4"
这是我桌上的POCO ......
public class LibraryInfo
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Version { get; set; }
} …Run Code Online (Sandbox Code Playgroud) 我刚开始使用 Dapper。Dapper 工作正常。作为我尝试与 Dapper Extension 集成的下一步。它生成一个名为 System.Data.OleDb.OleDbException 的异常,"Additional information: Characters found after end of SQL statement."这是为什么?Dapper Extension 不支持 Ms Access(因为结束字符)或我的代码有问题或我遗漏了一些东西。我的代码在下面
using (var conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=myAccessFile.accdb;"))
{
conn.Open();
conn.Insert<Person>(new Person { Name = "John Stan", Age = 20 });
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Dapper Extensions 进行 CRUD 操作。但是在将数据插入 MySQL 数据库时出现错误,如下所示:
错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 [....] 行附近 [......] 使用的正确语法
如果我使用 MSSQL 数据库,Dapper Extensions 工作正常。为什么我在使用 MySQL 时出现此错误?