.NET Framework Class Librar ...


.NET Framework Class Library
System.Data.Common Namespace

The System.Data.Common namespace contains classes shared by the .NET Framework data providers.

A .NET Framework data provider describes a collection of classes used to access a data source, such as a database, in the managed space. Supported providers include the .NET Framework Data Provider for ODBC, the .NET Framework Data Provider for OLEDB, the .NET Framework Data Provider for Oracle, and the .NET Framework Data Provider for SQL Server. The classes in System.Data.Common are intended to give developers a way to write ADO.NET code that will work against all .NET Framework data providers.

For conceptual information about how to use this namespace when programming with the.NET Framework, see Writing Provider Independent Code with ADO.NET.

Classes

  ClassDescription
Public classDataAdapterRepresents a set of SQL commands and a database connection that are used to fill the DataSet and update the data source.
Public classDataColumnMappingContains a generic column mapping for an object that inherits from DataAdapter. This class cannot be inherited.
Public classDataColumnMappingCollectionContains a collection of DataColumnMapping objects.
Public classDataRecordInfoProvides access to information about the structural type and column information for a DbDataRecord.
Public classDataTableMappingContains a description of a mapped relationship between a source table and a DataTable. This class is used by a DataAdapter when populating a DataSet.
Public classDataTableMappingCollectionA collection of DataTableMapping objects. This class cannot be inherited.
Public classDbCommandRepresents an SQL statement or stored procedure to execute against a data source. Provides a base class for database-specific classes that represent commands.
Public classDbCommandBuilderAutomatically generates single-table commands used to reconcile changes made to a DataSet with the associated database. This is an abstract class that can only be inherited.
Public classDbCommandDefinitionDefines a cacheable command plan.
Public classDbConnectionRepresents a connection to a database.
Public classDbConnectionStringBuilderProvides a base class for strongly typed connection string builders.
Public classDbDataAdapterAids implementation of the IDbDataAdapter interface. Inheritors of DbDataAdapter implement a set of functions to provide strong typing, but inherit most of the functionality needed to fully implement a DataAdapter.
Public classDBDataPermissionEnables a .NET Framework data provider to help ensure that a user has a security level adequate for accessing data.
Public classDBDataPermissionAttributeAssociates a security action with a custom security attribute.
Public classDbDataReaderReads a forward-only stream of rows from a data source.
Public classDbDataRecordImplements IDataRecord and ICustomTypeDescriptor, and provides data binding support for DbEnumerator.
Public classDbDataSourceEnumeratorProvides a mechanism for enumerating all available instances of database servers within the local network. This class provides the basis for other strongly typed data source enumerators.
Public classDbEnumeratorExposes the GetEnumerator method, which supports a simple iteration over a collection by a .NET Framework data provider.
Public classDbExceptionThe base class for all exceptions thrown on behalf of the data source.
Public classDbMetaDataCollectionNamesProvides a list of constants for the well-known MetaDataCollections: DataSourceInformation, DataTypes, MetaDataCollections, ReservedWords, and Restrictions.
Public classDbMetaDataColumnNamesProvides static values that are used for the column names in the MetaDataCollection objects contained in the DataTable. The DataTable is created by the GetSchema method.
Public classDbParameterRepresents a parameter to a DbCommand and optionally, its mapping to a DataSet column.
Public classDbParameterCollectionThe base class for a collection of parameters relevant to a DbCommand.
Public classDbProviderConfigurationHandlerInfrastructure.
Public classDbProviderFactoriesRepresents a set of static methods for creating one or more instances of DbProviderFactory classes.
Public classDbProviderFactoriesConfigurationHandlerInfrastructure.
Public classDbProviderFactoryRepresents a set of methods for creating instances of a provider's implementation of the data source classes.
Public classDbProviderManifestRepresents a base class that can be used by the Entity Framework to obtain provider-specific information at runtime.
Public classDbProviderServicesRepresents a set of methods for creating correct command definition objects and accessing provider manifest information.
Public classDbProviderSpecificTypePropertyAttributeIdentifies which provider-specific property in the strongly typed parameter classes is to be used when setting a provider-specific type.
Public classDbTransactionThe base class for a transaction.
Public classDbXmlEnabledProviderManifestRepresents a base class that implements the DbProviderManifest based on an XML definition. You can use the DbXmlEnabledProviderManifest class to obtain provider-specific information at runtime.
Public classEntityRecordInfoProvides access to entity metadata.
Public classRowUpdatedEventArgsProvides data for the RowUpdated event of a .NET Framework data provider.
Public classRowUpdatingEventArgsProvides the data for the RowUpdating event of a .NET Framework data provider.
Public classSchemaTableColumnDescribes the column metadata of the schema for a database table.
Public classSchemaTableOptionalColumnDescribes optional column metadata of the schema for a database table.
Structures

  StructureDescription
Public structureFieldMetadataProvides access to field metadata for a DataRecordInfo object.
Enumerations

  EnumerationDescription
Public enumerationCatalogLocationIndicates the position of the catalog name in a qualified table name in a text command.
Public enumerationGroupByBehaviorSpecifies the relationship between the columns in a GROUP BY clause and the non-aggregated columns in the select-list of a SELECT statement.
Public enumerationIdentifierCaseSpecifies how identifiers are treated by the data source when searching the system catalog.
Public enumerationSupportedJoinOperatorsSpecifies what types of Transact-SQL join statements are supported by the data source.
Tags :


Community Content

Chris Lively
Studio 2008 designer surface
For some reason when you reference this namespace through a using clause (e.g. Using System.Data.Common; ) in a class file, the icon for the class file changes and VS 2008 tries to invoke a designer surface. This can lead to an interesting error showing up in the following call stack:

at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.Error(IDesignerSerializationManager manager, String exceptionText, String helpLink)
at System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.Deserialize(IDesignerSerializationManager manager, CodeTypeDeclaration declaration)
at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload)

Note that the error message received is: "The designer must create an instance of type 'System.Data.Common.DbDataAdapter' but it cannot because the type is declared as abstract.

Tags : contentbug

M Derrick Glass
Cannot open design surface for DbCommand, DbConnection, DbDataAdapter

More on the Studio 2008 designer surface issue also mentioned here:

The issue occurs in VS 2005 as well. Any class that inherits an abstract class that in turn inherits from Component appears to do this. The work-around is simple, use View Code to open the file. Of course, this issue is quite frustrating from a UI perspective since the normal way to open the class *never* works (resulting in the error reported above). Here are some suggestions for fixes from the development team that would make it more tolerable:

  • Fix the designer so it doesn't try to create an instance of an abstract class. Why does it need to do that? The actual class constructed in the project is not abstract and it builds fine.
  • Put a link on the error report to View Code. As it it now, with your eyes focused on the useless page, you have to go back to the Solution Explorer, right-click the file name, find the View Code context menu item and click it. Other studio failure pages offer to let you "edit code" or something similar, and it would make this bug more friendly (single click where you're already looking to get to the code).
  • Detect the fact the design team can't figure out how to display a screen with an abstract class descended from a Component and remove the View in Designer option, reverting the icon to a standard class. (Really, does it have to come to that?)
Tags :

Page view tracker