0
使用实体框架'DbConetxt我试图检查数据库是否存在下面的查询。EF postgre检查数据库是否存在
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查询工具中试用时,查询执行得很好。我曾尝试使用谷歌搜索,但徒劳无功。任何帮助将不胜感激。
注意:上下文没有数据库名称,但具有所有其他数据库连接信息。
你已经检查是否'dbContext.Database.Exists()'工作在你的情况下,开始执行一些或多或少的复杂查询之前? – grek40
Hi @ grek40我可以用** ExecuteSqlCommandAsync **命令创建数据库。但在创建数据库之前,我想检查它是否存在。还像我说的那样,Database.Exists()可能不起作用,因为上下文没有数据库名称。 – Gagan
如何用'SELECT COUNT(*)FROM ...“而不是'ExecuteSqlCommand'使用'SqlQuery'? –
grek40