DataServiceContext クラス

定義

DataServiceContextは、データ サービスのランタイム コンテキストを表します。

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

次の例では、サービス参照の追加ツールによって生成された DataServiceContext を使用して、すべての顧客を返す Northwind データ サービスに対してクエリを暗黙的に実行する方法を示します。 要求された Customers エンティティ セットの URI は、コンテキストによって自動的に決定されます。 列挙が発生すると、クエリが暗黙的に実行されます。 Northwind データ サービスは、WCF Data Services を完了すると作成されます。

// 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 クラスは、クライアント ライブラリの 2 つの主要なクラスです。

コンストラクター

名前 説明
DataServiceContext(Uri)

指定したDataServiceContextを使用して、serviceRoot クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
ApplyingChanges

DataServiceContextが現在追跡対象オブジェクトに変更を適用しているかどうかを示す値を取得します。

BaseUri

ターゲット データ サービスのルートを識別する絶対 URI を取得します。

Credentials

DataServiceContext オブジェクトを使用して作成された各クエリで使用される認証情報を取得または設定します。

DataNamespace

Atom ペイロードのメタデータ項目ではなく、データ項目の XML 名前空間を取得または設定します。

Entities

DataServiceContextによって現在追跡されているすべてのリソースの一覧を取得します。

IgnoreMissingProperties

型から読み取ったプロパティをクライアント側の型のプロパティにマップする必要があるかどうかを取得または設定します。

IgnoreResourceNotFoundException

データ サービスによって 404 エラー (リソースが見つかりません) が返されたときに例外が発生するかどうかを取得または設定します。

Links

DataServiceContext オブジェクトによって現在追跡されているすべての関連付けまたはリンクのコレクションを取得します。

MergeOption

データ サービスからエンティティを受信するための同期オプションを取得または設定します。

ResolveName

エンティティをデータ サービスに送信するときにクライアント ライブラリによって使用される既定の型解決戦略をオーバーライドする関数を取得または設定します。

ResolveType

データ サービスからエンティティを受信するときにクライアント ライブラリによって使用される既定の型解決オプションをオーバーライドするために使用される関数を取得または設定します。

SaveChangesDefaultOptions

SaveChanges() メソッドで使用されるSaveChangesOptions値を取得または設定します。

Timeout

データ サービスに対する基になる HTTP 要求に使用されるタイムアウト オプションを取得または設定します。

TypeScheme

サービスで使用される型スキームを示すために使用される URI を取得または設定します。

UsePostTunneling

ポスト トンネリングを使用するかどうかを示すブール値を取得または設定します。

メソッド

名前 説明
AddLink(Object, String, Object)

指定したリンクを、 DataServiceContext が追跡しているオブジェクトのセットに追加します。

AddObject(String, Object)

指定したオブジェクトを、 DataServiceContext が追跡しているオブジェクトのセットに追加します。

AddRelatedObject(Object, String, Object)

関連オブジェクトをコンテキストに追加し、1 つの要求で 2 つのオブジェクト間のリレーションシップを定義するリンクを作成します。

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)

2 つのエンティティ間のリレーションシップを定義する特定のリンクの 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)

指定したオブジェクト間に新しいリンクが存在し、sourceProperty パラメーターで指定されたプロパティによってリンクが表されることをDataServiceContextに通知します。

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 に完全にシリアル化された後に発生します。

適用対象

こちらもご覧ください

  • .NET Framework クライアント ライブラリ (WCF Data Services)