diff --git a/Providers/FreeSql.Provider.QuestDb/QuestDbDbFirst.cs b/Providers/FreeSql.Provider.QuestDb/QuestDbDbFirst.cs index 8c558462..425c8f09 100644 --- a/Providers/FreeSql.Provider.QuestDb/QuestDbDbFirst.cs +++ b/Providers/FreeSql.Provider.QuestDb/QuestDbDbFirst.cs @@ -717,10 +717,33 @@ namespace FreeSql.QuestDb return res; } - public DbTableInfo GetTableByName(string name, bool ignoreCase = true) => - GetTables(null, name, ignoreCase)?.FirstOrDefault(); + public DbTableInfo GetTableByName(string name, bool ignoreCase = true) + { + var tableColumns = _orm.Ado.ExecuteDataTable($"SHOW COLUMNS FROM '{name}'"); + List dbColumnInfos = new List(); + var dbTableInfo = new DbTableInfo() + { + Name = name, + Columns = new List() + }; + foreach (DataRow tableColumnsRow in tableColumns.Rows) + { + dbColumnInfos.Add(new DbColumnInfo() + { + Name = tableColumnsRow["column"].ToString(), + DbTypeText = tableColumnsRow["type"].ToString(), + Table = dbTableInfo, + }); + } - public List GetTablesByDatabase(params string[] database) => GetTables(database, null, false); + dbTableInfo.Columns = dbColumnInfos; + return dbTableInfo; + } + + public List GetTablesByDatabase(params string[] database) + { + return GetTables(database, null, false); + } public List GetTables(string[] database, string tablename, bool ignoreCase) {