Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
EntityConnection Class

EntityConnection Class

Contains a reference to a conceptual model and a data source connection. This class cannot be inherited.

Namespace:  System.Data.EntityClient
Assembly:  System.Data.Entity (in System.Data.Entity.dll)

public sealed class EntityConnection : DbConnection

The EntityConnection type exposes the following members.

Public methodEntityConnection()Initializes a new instance of the EntityConnection class.
Public methodEntityConnection(String)Initializes a new instance of the EntityConnection class, based on the connection string.
Public methodEntityConnection(MetadataWorkspace, DbConnection)Initializes a new instance of the EntityConnection class with a specified MetadataWorkspace and DbConnection.

Public propertyConnectionStringGets or sets the EntityConnection connection string. (Overrides DbConnection.ConnectionString.)
Public propertyConnectionTimeoutGets the number of seconds to wait when attempting to establish a connection before ending the attempt and generating an error. (Overrides DbConnection.ConnectionTimeout.)
Public propertyContainerGets the IContainer that contains the Component. (Inherited from Component.)
Public propertyDatabaseGets the name of the current database, or the database that will be used after a connection is opened. (Overrides DbConnection.Database.)
Public propertyDataSourceGets the name or network address of the data source to connect to. (Overrides DbConnection.DataSource.)
Public propertyServerVersionGets a string that contains the version of the data source to which the client is connected. (Overrides DbConnection.ServerVersion.)
Public propertySiteGets or sets the ISite of the Component. (Inherited from Component.)
Public propertyStateGets the ConnectionState property of the underlying provider if the EntityConnection is open. Otherwise, returns Closed. (Overrides DbConnection.State.)
Public propertyStoreConnectionProvides access to the underlying data source connection that is used by the EntityConnection object.

Public methodBeginTransaction()Begins a transaction by using the underlying provider.
Public methodBeginTransaction(IsolationLevel)Begins a transaction with the specified isolation level by using the underlying provider.
Public methodChangeDatabaseNot supported. (Overrides DbConnection.ChangeDatabase(String).)
Public methodCloseCloses the connection to the database. (Overrides DbConnection.Close().)
Public methodCreateCommandCreates a new instance of an EntityCommand, with the Connection set to this EntityConnection.
Public methodCreateObjRefCreates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject.)
Public methodDispose()Releases all resources used by the Component. (Inherited from Component.)
Public methodEnlistTransactionEnlists this EntityConnection in the specified transaction. (Overrides DbConnection.EnlistTransaction(Transaction).)
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetLifetimeServiceRetrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public methodGetMetadataWorkspaceReturns the MetadataWorkspace associated with this EntityConnection.
Public methodGetSchema()Returns schema information for the data source of this DbConnection. (Inherited from DbConnection.)
Public methodGetSchema(String)Returns schema information for the data source of this DbConnection using the specified string for the schema name. (Inherited from DbConnection.)
Public methodGetSchema(String, String[])Returns schema information for the data source of this DbConnection using the specified string for the schema name and the specified string array for the restriction values. (Inherited from DbConnection.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodInitializeLifetimeServiceObtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public methodOpenEstablishes a connection to the data source by calling the underlying data provider's Open method. (Overrides DbConnection.Open().)
Public methodOpenAsync()An asynchronous version of Open, which opens a database connection with the settings specified by the ConnectionString. This method invokes the virtual method OpenAsync with CancellationToken.None. (Inherited from DbConnection.)
Public methodOpenAsync(CancellationToken)This is the asynchronous version of Open. Providers should override with an appropriate implementation. The cancellation token can optionally be honored.The default implementation invokes the synchronous Open call and returns a completed task. The default implementation will return a cancelled task if passed an already cancelled cancellationToken. Exceptions thrown by Open will be communicated via the returned Task Exception property.Do not invoke other methods and properties of the DbConnection object until the returned Task is complete. (Inherited from DbConnection.)
Public methodToStringReturns a String containing the name of the Component, if any. This method should not be overridden. (Inherited from Component.)

Public eventDisposedOccurs when the component is disposed by a call to the Dispose method. (Inherited from Component.)
Public eventStateChangeOccurs when the state of the event changes. (Inherited from DbConnection.)

Explicit interface implemetationPrivate methodIDbConnection.BeginTransaction()Begins a database transaction. (Inherited from DbConnection.)
Explicit interface implemetationPrivate methodIDbConnection.BeginTransaction(IsolationLevel)Begins a database transaction with the specified IsolationLevel value. (Inherited from DbConnection.)
Explicit interface implemetationPrivate methodIDbConnection.CreateCommandCreates and returns a DbCommand object that is associated with the current connection. (Inherited from DbConnection.)

To avoid inadvertently putting objects such as System.Data.Common.CommandTrees and ObjectContext out of sync with their metadata, EntityConnection must lock its metadata. No changes to the connection string are allowed after the metadata is locked. The following are two scenarios in which metadata is locked:

  • The EntityConnection instance is constructed through the default constructor, or through the EntityConnection(String) constructor, which accepts a connection string. In either case the connection string might be changed multiple times before the connection is opened. Calling [M:System.Data.EntityClient.EntityConnection.Open()] or [M:System.Data.EntityClient.EntityConnection.GetMetadataWorkspace()] locks the metadata.

  • The EntityConnection instance is constructed through the EntityConnection(MetadataWorkspace, DbConnection) constructor, which accepts a MetadataWorkspace and a DbConnection. In this case, the metadata is locked at construction time. No changes to the connection string are ever allowed.

When metadata is loaded, the EntityConnection verifies that the conceptual model, the storage model, and the mapping file are all present.

For code examples, see Working with EntityClient.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5 SP1

.NET Framework Client Profile

Supported in: 4

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
© 2015 Microsoft