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