工厂模型概述 (ADO.NET)

ADO.NET 2.0 在 System.Data.Common 命名空间中引入了新基类。 基类为抽象类,这意味着它们不能直接实例化。 这些基类包括 DbConnectionDbCommandDbDataAdapter,它们由 .NET Framework 数据提供程序(如 System.Data.SqlClientSystem.Data.OleDb)共享。 添加基类简化了向 .NET Framework 数据提供程序添加功能的过程,不再需要创建新接口。

ADO.NET 2.0 中还引入了一些抽象基类,使开发人员能够编写不依赖于特定数据提供程序的一般数据访问代码。

工厂设计模式

编写独立于提供程序的代码的编程模型基于“工厂”设计模式的使用,此模式使用单个 API 跨多个提供程序访问数据库。 此模式的命名非常恰当,因为它需单独使用专用的对象来创建其他对象,与实际的工厂非常类似。 有关工厂设计模式的更详细说明,请参见“Writing Generic Data Access Code in ASP.NET 2.0 and ADO.NET 2.0”(在 ASP.NET 2.0 和 ADO.NET 2.0 中编写泛型数据访问代码)和 MSDN 上的“Generic Coding with the ADO.NET 2.0 Base Classes and Factories”(使用 ADO.NET 2.0 基类和工厂的泛型编码)https://msdn.microsoft.com/library/default.asp?url=/library/zh-CN/dnvs05/html/vsgenerics.asp

从 ADO.NET 2.0 开始,DbProviderFactories 类提供 static(或 Visual Basic 中的 Shared)方法以用于创建 DbProviderFactory 实例。 该实例随后会基于提供程序信息和运行时提供的连接字符串返回正确的强类型对象。

请参见

概念

获取 DbProviderFactory (ADO.NET)

DbConnection、DbCommand 和 DbException (ADO.NET)

使用 DbDataAdapter 修改数据 (ADO.NET)