我有使用Dapper使用Npgsql查询Postgre数据库的代码。这使用参数化查询,其中包括用引号括起来的区分大小写的列名。 E.g:
var sql = "SELECT * FROM \"MyTable\" WHERE \"CamelCaseField\" = @CamelCaseField;";
var obj = await connection.QueryAsync<MyDataObject>(sql, new { CamelCaseField = id })).FirstOrDefault();
这很好用。
但是,现在需要使用dotConnect替换Npgsql提供程序。完成后,完全相同的代码由于列大写而不再有效。 (例如,由于无法找到列'camelcasefield'而失败。)奇怪的是,表名大写仍然很好。
我尝试使用相同的SQL字符串构建SQL命令并添加我自己的参数,它工作正常。这让我相信这个问题与Dapper有关。
任何人都可以对此有所了解吗?是否有解决方法或设置更改可能会解决此问题?