使用实体框架' 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查询工具中尝试时,查询执行正常。我试过谷歌搜索但徒劳无功。任何帮助将不胜感激。
注意:上下文没有数据库名称,但需要所有其他数据库连接信息。
答案 0 :(得分:0)
请尝试使用此命令。由于数据库名称区分大小写,我认为是小写。这应该返回true / false
select exists(
SELECT datname FROM pg_catalog.pg_database WHERE lower(datname) = lower('dbname')
);