Rate This Content
MSDN
MSDN Library
.NET Development
.NET Framework 3.5

  Switch on low bandwidth view

We were unable to locate this content in hi-in.

Here is the same content in en-us.

This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.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.

  ClassDescription
Public classDataAdapter Represents a set of SQL commands and a database connection that are used to fill the DataSet and update the data source.
Public classDataColumnMapping Contains a generic column mapping for an object that inherits from DataAdapter. This class cannot be inherited.
Public classDataColumnMappingCollection Contains a collection of DataColumnMapping objects.
Public classDataRecordInfoProvides access to information about the structural type and column information for a DbDataRecord.
Public classDataTableMapping Contains 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 classDataTableMappingCollection A 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 classDbCommandBuilder Automatically 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 classDbConnectionStringBuilder Provides 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 classDBDataPermission Enables a .NET Framework data provider to help ensure that a user has a security level adequate for accessing data.
Public classDBDataPermissionAttribute Associates 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 classDbDataSourceEnumerator
Public classDbEnumerator Exposes the GetEnumerator method, which supports a simple iteration over a collection by a .NET Framework data provider.
Public classDbException The base class for all exceptions thrown on behalf of the data source.
Public classDbMetaDataCollectionNames Provides a list of constants for the well-known MetaDataCollections: DataSourceInformation, DataTypes, MetaDataCollections, ReservedWords, and Restrictions.
Public classDbMetaDataColumnNames Provides 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 classDbParameter Represents a parameter to a DbCommand and optionally, its mapping to a DataSet column.
Public classDbParameterCollection The base class for a collection of parameters relevant to a DbCommand.
Public classDbProviderConfigurationHandlerInfrastructure.
Public classDbProviderFactories Represents a set of static methods for creating one or more instances of DbProviderFactory classes.
Public classDbProviderFactoriesConfigurationHandlerInfrastructure.
Public classDbProviderFactory Represents 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 classDbProviderSpecificTypePropertyAttribute Identifies which provider-specific property in the strongly typed parameter classes is to be used when setting a provider-specific type.
Public classDbTransaction The 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 classRowUpdatedEventArgs Provides data for the RowUpdated event of a .NET Framework data provider.
Public classRowUpdatingEventArgs Provides the data for the RowUpdating event of a .NET Framework data provider.
Public classSchemaTableColumn Describes the column metadata of the schema for a database table.
Public classSchemaTableOptionalColumn Describes optional column metadata of the schema for a database table.
  StructureDescription
Public structureFieldMetadataProvides access to field metadata for a DataRecordInfo object.
  EnumerationDescription
Public enumerationCatalogLocation Indicates the position of the catalog name in a qualified table name in a text command.
Public enumerationGroupByBehavior Specifies the relationship between the columns in a GROUP BY clause and the non-aggregated columns in the select-list of a SELECT statement.
Public enumerationIdentifierCase Specifies how identifiers are treated by the data source when searching the system catalog.
Public enumerationSupportedJoinOperators Specifies what types of Transact-SQL join statements are supported by the data source.
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Studio 2008 designer surface      Chris Lively   |   Edit   |   Show History
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.

Cannot open design surface for DbCommand, DbConnection, DbDataAdapter      M Derrick Glass   |   Edit   |   Show History

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 What's this?: Add a tag
Flag as ContentBug
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker