您的位置:首页 > 编程语言 > C#

C#学习经典方法之(五)--LINQ中的DataContext类

2016-11-29 22:24 441 查看
Represents the main entry point for the LINQ to SQL framework.
命名空间:
System.Data.Linq
程序集: System.Data.Linq(位于 System.Data.Linq.dll)

继承层次结构
System.Object
System.Data.Linq.DataContext
语法:
public class DataContext : IDisposable
构造函数:
名称说明

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

DataContext(IDbConnection,MappingSource)Initializes a new instance of the DataContext class by referencing a connection and a mapping source.

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

DataContext(String,MappingSource)Initializes a new instance of the DataContext class by referencing a file source and a mapping source.
属性:

名称说明

ChangeConflictsGets a collection of objects that caused concurrency conflicts when SubmitChanges was called.

CommandTimeoutGets
or sets a value that increases the time-out period for queries that
would otherwise time out during the default time-out period.

ConnectionGets the connection used by the framework.

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

LoadOptionsGets or sets the DataLoadOptions associated with this DataContext.

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

MappingGets the MetaModel on which the mapping is based.

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

TransactionGets or sets a local transaction for the .NET Framework to use to access the database.
方法:
名称说明

CreateDatabase()Creates a database on the server.

CreateMethodCallQuery<TResult>(Object,MethodInfo,Object[])此 API 支持 产品 基础结构,不应从代码直接使用。 Executes the table-valued database function associated with the specified CLR 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.(继承自 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[])此 API 支持 产品 基础结构,不应从代码直接使用。 Executes the stored database procedure or scalar function associated with the specified CLR 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.

Finalize()Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(继承自 Object。)

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.(继承自 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.(继承自 Object。)

MemberwiseClone()Creates a shallow copy of the current Object.(继承自 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.(继承自 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.

备注
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.

版本信息
.NET Framework

自 3.5 起可用

Windows Phone Silverlight

自 7.1 起可用

线程安全
此类型的所有公共静态(Visual Basic 中的
已共享
在 Visual Basic 中)成员都是线程安全的。不保证所有实例成员都是线程安全的。

备注:转自https://msdn.microsoft.com/zh-cn/library/system.data.linq.datacontext.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  DataContext