Edit

Share via


DataContext Class

Definition

Represents the main entry point for the LINQ to SQL framework.

public ref class DataContext : IDisposable
public class DataContext : IDisposable
type DataContext = class
    interface IDisposable
Public Class DataContext
Implements IDisposable
Inheritance
DataContext
Implements

Remarks

The DataContext is the source of all entities mapped over a database connection. It tracks changes that you made to all retrieved entities and maintains an "identity cache" that guarantees that entities retrieved more than one time are represented by using the same object instance.

In general, a DataContext instance is designed to last for one "unit of work" however your application defines that term. A DataContext is lightweight and is not expensive to create. A typical LINQ to SQL application creates DataContext instances at method scope or as a member of short-lived classes that represent a logical set of related database operations.

Constructors

DataContext(IDbConnection, MappingSource)

Initializes a new instance of the DataContext class by referencing a connection and a mapping source.

DataContext(IDbConnection)

Initializes a new instance of the DataContext class by referencing the connection used by the .NET Framework.

DataContext(String, MappingSource)

Initializes a new instance of the DataContext class by referencing a file source and a mapping source.

DataContext(String)

Initializes a new instance of the DataContext class by referencing a file source.

Properties

ChangeConflicts

Gets a collection of objects that caused concurrency conflicts when SubmitChanges() was called.

CommandTimeout

Gets or sets a value that increases the time-out period (in seconds) for queries that would otherwise time out during the default time-out period.

Connection

Gets the connection used by the framework.

DeferredLoadingEnabled

Gets or sets a value that indicates whether to delay-load one-to-many or one-to-one relationships.

LoadOptions

Gets or sets the DataLoadOptions associated with this DataContext.

Log

Gets or sets the destination to write the SQL query or command.

Mapping

Gets the MetaModel on which the mapping is based.

ObjectTrackingEnabled

Gets or sets a value that indicates whether object tracking is enabled.

Transaction

Gets or sets a local transaction for the .NET Framework to use to access the database.

Methods

CreateDatabase()

Creates a database on the server.

CreateMethodCallQuery<TResult>(Object, MethodInfo, Object[])

Executes the table-valued database function associated with the specified .NET method.

DatabaseExists()

Determines whether the associated database can be opened.

DeleteDatabase()

Deletes the associated database.

Dispose()

Releases all resources used by the current instance of the DataContext class.

Dispose(Boolean)

Releases the unmanaged resources used by the DataContext class and optionally releases the managed resource.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
ExecuteCommand(String, Object[])

Executes SQL commands directly on the database.

ExecuteDynamicDelete(Object)

Executes, inside delete override methods, to redelegate to LINQ to SQL the task of generating and executing dynamic SQL for delete operations.

ExecuteDynamicInsert(Object)

Executes, inside insert override methods, to redelegate to LINQ to SQL the task of generating and executing dynamic SQL for insert operations.

ExecuteDynamicUpdate(Object)

Executes, inside update override methods, to redelegate to LINQ to SQL the task of generating and executing dynamic SQL for update operations.

ExecuteMethodCall(Object, MethodInfo, Object[])

Executes the stored database procedure or scalar function associated with the specified .NET method.

ExecuteQuery(Type, String, Object[])

Executes SQL queries directly on the database.

ExecuteQuery<TResult>(String, Object[])

Executes SQL queries directly on the database and returns objects.

GetChangeSet()

Gets the modified objects tracked by DataContext.

GetCommand(IQueryable)

Gets the information about SQL commands generated by LINQ to SQL.

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetTable(Type)

Returns a collection of objects of a particular type, where the type is defined by the type parameter.

GetTable<TEntity>()

Returns a collection of objects of a particular type, where the type is defined by the TEntity parameter.

GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
Refresh(RefreshMode, IEnumerable)

Refreshes a collection of entity objects according to the specified mode.

Refresh(RefreshMode, Object)

Refreshes an entity object according to the specified mode.

Refresh(RefreshMode, Object[])

Refreshes an array of entity objects according to the specified mode.

SubmitChanges()

Computes the set of modified objects to be inserted, updated, or deleted, and executes the appropriate commands to implement the changes to the database.

SubmitChanges(ConflictMode)

Sends changes that were made to retrieved objects to the underlying database, and specifies the action to be taken if the submission fails.

ToString()

Returns a string that represents the current object.

(Inherited from Object)
Translate(DbDataReader)

Converts an existing DbDataReader to objects.

Translate(Type, DbDataReader)

Converts an existing DbDataReader to objects.

Translate<TResult>(DbDataReader)

Converts an existing DbDataReader to objects.

Applies to