DataServiceContext 类

定义

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

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

示例

以下示例演示如何使用 DataServiceContext “添加服务引用”工具生成的查询,对返回所有客户的 Northwind 数据服务隐式执行查询。 请求 Customers 的实体集的 URI 由上下文自动确定。 在枚举发生时隐式执行查询。 完成 WCF 数据服务时,将创建 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 数据服务是无状态的 DataServiceContext ,但不是。 客户端上的状态在交互之间保持,以支持更新管理等功能。 此类和 DataServiceQuery 表示对数据服务的特定 HTTP 请求的类是客户端库中的两个主要类。

构造函数

名称 说明
DataServiceContext(Uri)

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

属性

名称 说明
ApplyingChanges

获取一个值,该值指示当前是否 DataServiceContext 正在对跟踪的对象应用更改。

BaseUri

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

Credentials

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

DataNamespace

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

Entities

获取当前正在由 <a0/a0> 跟踪的所有资源的列表。

IgnoreMissingProperties

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

IgnoreResourceNotFoundException

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

Links

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

MergeOption

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

ResolveName

获取或设置一个函数,用于在将实体发送到数据服务时重写客户端库使用的默认类型解析策略。

ResolveType

获取或设置一个函数,该函数用于替代从数据服务接收实体时客户端库使用的默认类型解析选项。

SaveChangesDefaultOptions

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

Timeout

获取或设置用于对数据服务的基础 HTTP 请求的超时选项。

TypeScheme

获取或设置用于指示服务使用哪种类型方案的 URI。

UsePostTunneling

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

方法

名称 说明
AddLink(Object, String, Object)

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

AddObject(String, Object)

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

AddRelatedObject(Object, String, Object)

将相关对象添加到上下文,并创建用于定义单个请求中两个对象之间的关系的链接。

AttachLink(Object, String, Object)

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

AttachTo(String, Object, String)

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

AttachTo(String, Object)

通知 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, DataServiceRequestArgs)

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

GetReadStream(Object, String)

获取指定实体作为数据流的二进制属性数据,其中包含指定的 Accept 消息标头。

GetReadStream(Object)

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

GetReadStreamUri(Object)

获取用于将二进制属性数据作为数据流返回的 URI。

GetType()

获取当前实例的 Type

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

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

LoadProperty(Object, String, Uri)

使用提供的下一个链接 URI 加载相关实体的页面。

LoadProperty(Object, String)

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

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)

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

TryGetUri(Object, Uri)

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

UpdateObject(Object)

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

活动

名称 说明
ReadingEntity

在实体数据完全读取到实体对象后发生。

SendingRequest

创建新 HttpWebRequest 项时发生。

WritingEntity

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

适用于

另请参阅