DataServiceContext 类

定义

DataServiceContext 表示数据服务的运行时上下文。

public ref class DataServiceContext
public class DataServiceContext
type DataServiceContext = class
Public Class DataServiceContext
继承
DataServiceContext

示例

下面的示例演示如何使用“添加服务引用”工具所生成的 DataServiceContext 来隐式执行针对 Northwind 数据服务返回所有客户的查询。 该上下文自动确定请求的 Customers 实体集的 URI。 在发生枚举时隐式执行该查询。 完成 WCF Data Services 时,将创建 Northwind 数据服务。

// Create the DataServiceContext using the service URI.
NorthwindEntities context = new NorthwindEntities(svcUri);

// Define a new query for Customers.
DataServiceQuery<Customer> query = context.Customers;

try
{
    // Enumerate over the query result, which is executed implicitly.
    foreach (Customer customer in query)
    {
        Console.WriteLine("Customer Name: {0}", customer.CompanyName);
    }
}
catch (DataServiceQueryException ex)
{
    throw new ApplicationException(
        "An error occurred during query execution.", ex);
}
' Create the DataServiceContext using the service URI.
Dim context = New NorthwindEntities(svcUri)

' Define a new query for Customers.
Dim query As DataServiceQuery(Of Customer) = context.Customers

Try
    ' Enumerate over the query result, which is executed implicitly.
    For Each customer As Customer In query
        Console.WriteLine("Customer Name: {0}", customer.CompanyName)
    Next
Catch ex As DataServiceQueryException
    Throw New ApplicationException( _
            "An error occurred during query execution.", ex)
End Try

注解

WCF Data Services是无状态的DataServiceContext,但不是。 各个交互之间将保持客户端的状态,以支持更新管理之类的功能。 这种类以及表示特定 HTTP 请求(针对数据服务)的 DataServiceQuery 类是客户端库中的两个主要类。

构造函数

DataServiceContext(Uri)

使用指定的 DataServiceContext 初始化 serviceRoot 类的新实例。

属性

ApplyingChanges

获取用于指示 DataServiceContext 是否当前正在将更改应用于所跟踪对象的值。

BaseUri

获取标识目标数据服务的根的绝对 URI。

Credentials

获取或设置每个查询(使用 DataServiceContext 对象创建)所使用的身份验证信息。

DataNamespace

获取或设置 Atom 负载数据项(而非元数据项)的 XML 命名空间。

Entities

获取当前由 DataServiceContext 跟踪的所有资源的列表。

IgnoreMissingProperties

获取从类型读取的属性或将其设置为是否必须映射到客户端类型的属性。

IgnoreResourceNotFoundException

获取或设置当数据服务返回 404 错误(找不到资源)时是否引发异常。

Links

获取当前正由 DataServiceContext 对象跟踪的所有关联或链接的集合。

MergeOption

获取或设置用于从数据服务中接收实体的同步选项。

ResolveName

获取或设置函数,以便在用户向数据服务发送实体时,重写客户端库所用的默认类型解析策略。

ResolveType

获取或设置函数,以便在接收数据服务的实体时,重写客户端库所用的默认类型解析选项。

SaveChangesDefaultOptions

获取或设置 SaveChangesOptions 方法所用的 SaveChanges() 值。

Timeout

获取或设置用于对数据服务的基础 HTTP 请求的超时选项(以秒为单位)。

TypeScheme

获取或设置 URI,以便指示服务所用的类型方案。

UsePostTunneling

获取或设置一个布尔值,该值指示是否使用 POST 隧道。

方法

AddLink(Object, String, Object)

将指定链接添加到 DataServiceContext 正在跟踪的一组对象。

AddObject(String, Object)

将指定对象添加到 DataServiceContext 正在跟踪的一组对象中。

AddRelatedObject(Object, String, Object)

将相关对象添加到上下文,然后创建相关链接,以便定义单个请求中两个对象间的关系。

AttachLink(Object, String, Object)

通知 DataServiceContext 开始跟踪指定链接,该链接定义了实体对象之间的关系。

AttachTo(String, Object)

通知 DataServiceContext 开始跟踪指定资源,并在指定资源集中提供该资源的位置。

AttachTo(String, Object, String)

通知 DataServiceContext 开始跟踪指定资源,并在指定资源集中提供该资源的位置。

BeginExecute<T>(DataServiceQueryContinuation<T>, AsyncCallback, Object)

通过将请求异步发送到数据服务,在分页查询结果中检索下一页数据。

BeginExecute<TElement>(Uri, AsyncCallback, Object)

异步发送请求,因此在等待服务返回的结果时,此调用不会阻止处理。

BeginExecuteBatch(AsyncCallback, Object, DataServiceRequest[])

将一组查询以批处理方式异步提交到数据服务。

BeginGetReadStream(Object, DataServiceRequestArgs, AsyncCallback, Object)

异步获取数据流形式的指定实体的二进制属性数据以及指定的消息标头。

BeginLoadProperty(Object, String, AsyncCallback, Object)

从数据服务异步加载指定属性的值。

BeginLoadProperty(Object, String, DataServiceQueryContinuation, AsyncCallback, Object)

通过使用所提供的查询延续对象,从数据服务异步加载下一页相关实体。

BeginLoadProperty(Object, String, Uri, AsyncCallback, Object)

通过使用所提供的下一链接 URI,从数据服务异步加载相关实体页。

BeginSaveChanges(AsyncCallback, Object)

以异步方式向数据服务提交自上次保存更改以来,由 DataServiceContext 收集的挂起更改。

BeginSaveChanges(SaveChangesOptions, AsyncCallback, Object)

以异步方式向数据服务提交自上次保存更改以来,由 DataServiceContext 收集的挂起更改。

CancelRequest(IAsyncResult)

尝试取消与所提供的 IAsyncResult 对象关联的操作。

CreateQuery<T>(String)

针对指定泛型类型的数据创建数据服务查询。

DeleteLink(Object, String, Object)

更改 DataServiceContext 跟踪的链接列表中要删除的链接的状态。

DeleteObject(Object)

更改要在 DataServiceContext 中删除的指定对象的状态。

Detach(Object)

DataServiceContext 所跟踪的实体列表中移除该实体。

DetachLink(Object, String, Object)

DataServiceContext 所跟踪的链接列表中移除指定链接。

EndExecute<TElement>(IAsyncResult)

调用以完成 BeginExecute<TElement>(Uri, AsyncCallback, Object)

EndExecuteBatch(IAsyncResult)

调用以完成 BeginExecuteBatch(AsyncCallback, Object, DataServiceRequest[])

EndGetReadStream(IAsyncResult)

进行调用以完成以流形式检索二进制属性的异步操作。

EndLoadProperty(IAsyncResult)

调用以完成 BeginLoadProperty(Object, String, AsyncCallback, Object) 操作。

EndSaveChanges(IAsyncResult)

调用以完成 BeginSaveChanges(AsyncCallback, Object) 操作。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
Execute<T>(DataServiceQueryContinuation<T>)

通过将请求发送到数据服务,在分页查询结果中检索下一页数据。

Execute<TElement>(Uri)

通过将请求发送到数据服务来执行特定 URI。

ExecuteBatch(DataServiceRequest[])

将一组查询以批处理方式提交到数据服务。

GetEntityDescriptor(Object)

获取所提供实体对象的 EntityDescriptor

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetLinkDescriptor(Object, String, Object)

获取特定链接的 LinkDescriptor,以便定义两个实体之间的关系。

GetMetadataUri()

获取 .edmx 元数据位置的 URI。

GetReadStream(Object)

获取数据流形式的指定实体的二进制属性数据。

GetReadStream(Object, DataServiceRequestArgs)

获取数据流形式的指定实体的二进制属性数据以及指定的消息标头。

GetReadStream(Object, String)

获取数据流形式的指定实体的二进制属性数据以及指定的 Accept 消息标头。

GetReadStreamUri(Object)

获取用于以数据流形式返回二进制属性数据的 URI。

GetType()

获取当前实例的 Type

(继承自 Object)
LoadProperty(Object, String)

从数据服务加载指定属性的延迟内容。

LoadProperty(Object, String, DataServiceQueryContinuation)

通过使用所提供的查询延续对象,从数据服务加载下一页相关实体。

LoadProperty(Object, String, Uri)

通过使用所提供的下一链接 URI 来加载相关实体页。

LoadProperty<T>(Object, String, DataServiceQueryContinuation<T>)

通过使用所提供的通用查询延续对象,从数据服务加载下一页相关实体。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
SaveChanges()

DataServiceContext 所跟踪的更改保存到存储。

SaveChanges(SaveChangesOptions)

DataServiceContext 所跟踪的更改保存到存储。

SetLink(Object, String, Object)

通知 DataServiceContext,说明指定的对象之间存在新链接,且该链接由 sourceProperty 参数指定的属性表示。

SetSaveStream(Object, Stream, Boolean, DataServiceRequestArgs)

使用请求消息中的指定设置,将新的数据流设置为实体的二进制属性。

SetSaveStream(Object, Stream, Boolean, String, String)

将新的数据流设置为实体的二进制属性。 指定的 Content-Type 和 Slug 标头包含在请求消息中。

ToString()

返回表示当前对象的字符串。

(继承自 Object)
TryGetEntity<TEntity>(Uri, TEntity)

通过引用实体的 URI,测试由 DataServiceContext 跟踪的实体的检索。

TryGetUri(Object, Uri)

检索与指定实体关联的规范 URI(如果可用)。

UpdateObject(Object)

DataServiceContext 中的指定对象的状态更改为 Modified

事件

ReadingEntity

在实体数据已完全读入实体对象之后发生。

SendingRequest

在创建新 HttpWebRequest 之后发生。

WritingEntity

在实体已完全序列化为请求消息中的 XML 之后发生。

适用于

另请参阅