-
Notifications
You must be signed in to change notification settings - Fork 890
Open
Description
问题描述及重现代码:
Oracle 下 DbFirst.GetTableByName() 没有返回 Columns
IFreeSql fsql = new FreeSql.FreeSqlBuilder()
.UseConnectionString(FreeSql.DataType.Oracle, "Data Source=//127.0.0.1:11521/XEPDB1;User Id=qadmin;Password=123456;Pooling=true;Min Pool Size=1")
.UseMonitorCommand(cmd => Console.WriteLine($"-- sql@{DateTime.Now:HH:mm:ss.fff} --\n{cmd.CommandText}\n---------\n"))
.Build();
var tbInfo = fsql.DbFirst.GetTableByName("qsys_user", true);
Console.WriteLine($"tbInfo.Columns.Count: {tbInfo.Columns.Count}"); // tbInfo.Columns.Count 为 0
Console.ReadLine();
数据库版本
oracle 11gR2、oracle 21c
安装的Nuget包
FreeSql.Provider.Oracle 3.5.206
.net framework/. net core? 及具体版本
.net 8.0
下了源码调试,定位在 Providers/FreeSql.Provider.Oracle/OracleDbFirst.cs 方法 GetTables(string[] database, string tablename, bool ignoreCase)
图示位置:

loc2.ContainsKey(table_id)
返回了 false。
(table_id 含有schema: "QADMIN.QSYS_USER", loc2 里存的则是 “QSYS_USER”)
(方法前侧代码有移除 schema 的操作,还没看明白)
Metadata
Metadata
Assignees
Labels
No labels