dapper.contrib postres 42P01错误:关系“”不存在

时间:2018-10-22 15:56:06

标签: c# postgresql dapper dapper-contrib

使用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();
        }
    }

1 个答案:

答案 0 :(得分:0)

您可以看到Dapper生成的内容:

NA

我使用Qutoes解决了PostgresSQL上的问题:

NpgsqlLogManager.Provider = new ConsoleLoggingProvider(NpgsqlLogLevel.Trace, true, true);