gpt4 book ai didi

c# - GetSchemaTable() 如何工作?

转载 作者:太空狗 更新时间:2023-10-29 21:31:29 25 4
gpt4 key购买 nike

OleDbDataReader oleDbDataReader = oleDbCommand.ExecuteReader(CommandBehavior.KeyInfo);
DataTable dataTable = oleDbDataReader.GetSchemaTable();

GetSchemaTable() 是如何工作的?

它从 RDBMS 的哪里获取信息?

最佳答案

IDataReader.GetSchemaTable() 的实现取决于提供者 - 因此它会有所不同。您可以编写自己的提供程序并以任何您想要的方式进行。

老实说,这是框架中的一个糟糕设计点——您永远不应该使用返回未类型化的 DataTableDataSet 的接口(interface)方法,因为结果可能包含任何内容。 Kinda 首先否定了通过接口(interface)对其进行约束的观点:“您必须有一个返回 DataTable 的方法,但我们不关心它有哪些行或列”

即使提供程序是 SQL GetSchemaTable() 也不会返回到 [syscolumns][sysobjects]。这将是一个额外的数据库调用,需要额外的权限并且无论如何都不起作用,因为结果集不需要反射(reflect)数据库中的任何对象。

我不确定,但我希望绝大多数 IDataReader.GetSchemaTable() 实现能够读取与结果集一起保存的元数据的某些属性。

关于c# - GetSchemaTable() 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1574492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com