![](/img/trans.png)
[英]Npgsql.PostgresException: '42P01: relation “table” does not exist'
[英]dapper.contrib postres 42P01 error: relation “<table name>” does not exist
使用dapper.contrib,我不断收到错误: '42P01: relation "tblproduct" does not exist'
。
我相信这是因为postgresql区分大小写。 实体本身的模式注释为'[Table("tblProduct")]'
。
我找不到为什么生成的sql将使用小写的表名? 我正在使用'SqlMapperExtensions.TableNameMapper'
强制这种情况,但这也不起作用。 我想念什么吗? 谢谢
public ICollection<Product> GetAll(int count)
{
if (SqlMapperExtensions.TableNameMapper != null)
return null;
SqlMapperExtensions.TableNameMapper = (type) =>
{
return "tblProduct";
};
using (var connection = new NpgsqlConnection(connectionString))
{
connection.Open();
return connection.GetAll<Product>().Take(count).ToList();
}
}
您可以看到Dapper生成的内容:
NpgsqlLogManager.Provider = new ConsoleLoggingProvider(NpgsqlLogLevel.Trace, true, true);
我用qutoes解决了PostgresSQL的问题:
SqlMapperExtensions.TableNameMapper = (type) => $"\"{type.Name}s\"";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.