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 不是 。 為了支援如更新管理等功能,會在互動之間維護用戶端上的狀態。 這個類別以及 DataServiceQuery 類別 (後者表示對資料服務的特定 HTTP 要求) 是用戶端程式庫中兩個主要類別。

建構函式

DataServiceContext(Uri)

使用指定的 DataServiceContext 初始化 serviceRoot 類別的新執行個體。

屬性

ApplyingChanges

取得值,該值指出 DataServiceContext 目前是否正在套用追蹤之物件的變更。

BaseUri

取得識別目標資料服務根目錄的絕對 URI。

Credentials

取得或設定驗證資訊,此資訊為透過 DataServiceContext 物件所建立之每個查詢所使用。

DataNamespace

取得或設定 Atom 承載之資料項目 (而非中繼資料項目) 的 XML 命名空間 (Namespace)。

Entities

取得 DataServiceContext 目前正在追蹤的所有資源之清單。

IgnoreMissingProperties

取得或設定從型別讀取的屬性是否必須對應至用戶端型別上的屬性。

IgnoreResourceNotFoundException

取得或設定是否在資料服務傳回 404 錯誤 (找不到資源) 時引發例外狀況。

Links

取得 DataServiceContext 物件目前正在追蹤的所有關聯或連結之集合。

MergeOption

取得或設定從資料服務接收實體 (Entity) 的同步處理選項。

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)

將新資料流設定為實體的二進位屬性。 指定的內容類型和 Slug 標題會包含在要求訊息中。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
TryGetEntity<TEntity>(Uri, TEntity)

透過實體 URI 的參考進行測試擷取 DataServiceContext 正在追蹤的實體。

TryGetUri(Object, Uri)

擷取與指定之實體相關聯的標準 URI (若有的話)。

UpdateObject(Object)

DataServiceContext 中指定之物件的狀態變更成 Modified

事件

ReadingEntity

當實體資料已完全讀入實體物件之後發生。

SendingRequest

已建立新的 HttpWebRequest 時發生。

WritingEntity

實體已完全序列化為要求訊息中的 XML 之後發生。

適用於

另請參閱