【发布时间】:2020-10-16 10:40:39
【问题描述】:
GetSchemaTable() 始终将 IsAliased 返回为 null,并且 BaseColumnName 始终与 ColumnName 相同,即使我使用别名从存储过程中获取列数据。
SP:
SELECT u.Name AS [Display Name]
,code AS [Display Code]
........
C#:
DbDataReader reader = null;
DataTable dt = reader.GetSchemaTable();
【问题讨论】:
-
如果您使用的是存储过程,那么调用该过程的任何人都不知道该过程中使用了哪些底层对象及其别名。
-
获取架构不查看存储过程。 Get Schema 只是查看服务器中的数据库、表和列。
-
更新 - 能够通过添加 commandBehavior 解决问题。
标签: c# sql-server getschematable