我知道可能有一个明显的原因,但我找不到它..

我通常在数据库连接和数据读取过程中使用 using 语句,但是我不能在 DataAdapter 上使用它,因为它没有实现 IDisposable

另外:填充数据集后它会如何表现?

它会关闭自己的连接吗?

只关闭它或处理它?

填完数据集后需要自己处理内部连接吗?如果是这样,为什么 IDataAdapter 没有相关的属性/方法?

最佳答案

DataAdapter 没有实现 IDisposable,因为它没有任何需要在正常垃圾收集之外处理的成员变量。换句话说,它不需要实现 IDisposable。

如果您有兴趣,可以在此处查看 Mono DataAdapter 的源代码:http://www.java2v.com/Open-Source/CSharp/2.6.4-mono-.net-core/System.Data/System/Data/Common/DataAdapter.cs.htm

通常,如果您要在使用后关闭连接,请继续将连接放入 using 范围,但也可以使用单例并在使用相同连接的多范围内拥有多数据适配器。

希望这是有道理的。

关于c# - 为什么 DataAdapter 不是一次性的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13629359/

10-10 06:52