DataContext
public class DataContext : IDataContext, IConfigurationID, IDisposable, IAsyncDisposable, IInterceptable<ICommandInterceptor>, IInterceptable, IInterceptable<IConnectionInterceptor>, IInterceptable<IDataContextInterceptor>, IInterceptable<IEntityServiceInterceptor>, IInterceptable<IUnwrapDataObjectInterceptor>
Implements abstraction over non-persistent database connection that could be released after query or transaction execution.
Gets or sets flag to close context after query execution or leave it open.
Gets or sets command execution timeout in seconds.
Negative timeout value means that default timeout will be used.
0 timeout value corresponds to infinite timeout.
By default timeout is not set and default value for current provider used.
Gets or sets ContextID.
Gets initial value for database connection configuration name.
Gets initial value for database connection string.
Gets or sets context identifier. Uses provider's name by default.
Gets database provider implementation.
Gets or sets option to force inline parameter values as literals into command text. If parameter inlining not supported
for specific value type, it will be used as parameter.
Gets or sets status of Multiple Active Result Sets (MARS) feature. This feature available only for
SQL Azure and SQL Server 2005+.
Gets or sets option to dispose underlying connection after use.
Default value: false.
Contains text of last command, sent to database using current context.
Gets or sets mapping schema. Uses provider's mapping schema by default.
Gets list of query hints (writable collection), that will be used only for next query, executed through current context.
Gets or sets trace handler, used for data connection instance.
Current DataContext options
Gets list of query hints (writable collection), that will be used for all queries, executed through current context.
public DataContext()
Creates data context using default database configuration.
DefaultConfiguration for more details.
Creates data context using specific database configuration.
Creates data context using specific data provider implementation and connection string.
Creates data context using specified database provider and connection string.
Creates database context object that uses a DataOptions to configure the connection.
Starts new transaction for current context with specified isolation level.
If connection already has transaction, it will be rolled back.
Starts new transaction for current context with default isolation level.
If connection already has transaction, it will be rolled back.
public virtual Task<DataContextTransaction> BeginTransactionAsync(IsolationLevel level, CancellationToken cancellationToken = default)
Starts new transaction asynchronously for current context with specified isolation level.
If connection already has transaction, it will be rolled back.
public virtual Task<DataContextTransaction> BeginTransactionAsync(CancellationToken cancellationToken = default)
Starts new transaction asynchronously for current context with default isolation level.
If connection already has transaction, it will be rolled back.
protected virtual DataConnection CloneDataConnection(DataConnection currentConnection, DataOptions options)
Creates instance of DataConnection class, attached to same database connection/transaction passed in options.
Used by Clone API only if IsMarsEnabled
is true and there is an active connection associated with current context.
DataConnection instance, used by current context instance.Connection options, will have DbConnection or DbTransaction set.New DataConnection instance.
Creates instance of DataConnection class, used by context internally.
Closes underlying connection.
Closes underlying connection.