EF postgre检查数据库是否存在

时间:2017-07-11 13:52:33

标签: c# entity-framework asp.net-core postgresql-9.4

使用实体框架' DbConetxt ,我试图检查数据库是否存在以下查询。

public async Task<bool> CheckIfExistsAsync(DbContext context)
{
    var result = await context.Database.ExecuteSqlCommandAsync("SELECT 1 from pg_database WHERE datname='CPNewDB'");
    return result == 1;
}

问题是结果总是 -1 。我正在使用postgresql,当我在Pgadmin UI查询工具中尝试时,查询执行正常。我试过谷歌搜索但徒劳无功。任何帮助将不胜感激。

注意:上下文没有数据库名称,但需要所有其他数据库连接信息。

1 个答案:

答案 0 :(得分:0)

请尝试使用此命令。由于数据库名称区分大小写,我认为是小写。这应该返回true / false

select exists(
 SELECT datname FROM pg_catalog.pg_database WHERE lower(datname) = lower('dbname')
);