处理ADO.NET标准化注意哪些问题

本篇内容主要讲解“处理ADO.NET标准化注意哪些问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“处理ADO.NET标准化注意哪些问题”吧!

粗看起来,ADO.NET提供的模型是零散的,因为它没有包含一个通过的对象集,来处理多种不同类型的数据库。尽管不同的.NET数据提供者使用不同的类,但所有提供者都是采用同一方法进行标准化的。说得更明确一点,就是每个提供者都是基于相同的基类和接口集。例如,每个连接对象都执行IDbConnection接口,这些接口定义了核心的方法,如Open()、Close()。这个标准化保证每个连接类以同样的方式工作,并且向用户提供的核心属性和方法集是一样的。

在可视的界面之后,不同的提供者使用完全不同的底层调用和API。举个例来说,ADO.NET标准化SQL Server提供者使用私有的TDS(Tabular Data Stream)协议来与服务器通信。这个模型的好处并不是显而易见的,但它们很重要:

因为每个提供者使用相同的接口和基类,你可以编写通用的数据访问代码(只需一点点的努力),而不是需要针对具体的提供者类编写代码。你将在“Provider-Agnostic Code”一节中看到这个技术所起的作用。

由于每个提供者的实现是完全分离的,ADO.NET标准化可以使用私有的优化措施(这与ADO模型不同。在ADO中,ADO.NET标准化每个数据库调用需要在到达底层数据库驱动前要使用通过的层来进行过滤)。另外,自定义提供者能够添加非标准的功能,扩展在其它提供者中的不足(如SQL Server能够执行XML查询)。

ADO.NET也有另一个标准的层:DataSet。DataSet是一个能满足所有要求的数据容器,这些数据来自于一个数据源的一个或多个表。DataSet非常通用,换句话说,自定义提供者不需要定义DataSet类的自定义版本。无论你使用哪种数据提供者,你都能够以同样的方法提取数据和将数据放入未连接的DataSet。ADO.NET标准化这样就使得数据获取代码和数据处理代码分离开来。如果你改变了底层的数据库,你只需要改变数据获取代码,但如果你使用的DataSet和你的信息具有相同的结构,你就不需要改变数据处理的方法。

到此,相信大家对“处理ADO.NET标准化注意哪些问题”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!