ObjectContext クラス

定義

エンティティ データに対してクエリを実行してそのデータをオブジェクトとして操作するための機能を提供します。

public ref class ObjectContext : IDisposable
public class ObjectContext : IDisposable
type ObjectContext = class
    interface IDisposable
Public Class ObjectContext
Implements IDisposable
継承
ObjectContext
実装

この例は、Microsoft SQL Server の製品サンプルデータベースに基づいています。 この例では、ObjectContext を作成する方法を示します。

// Create the ObjectContext.
ObjectContext context =
    new ObjectContext("name=AdventureWorksEntities");

// Set the DefaultContainerName for the ObjectContext.
// When DefaultContainerName is set, the Entity Framework only
// searches for the type in the specified container.
// Note that if a type is defined only once in the metadata workspace
// you do not have to set the DefaultContainerName.
context.DefaultContainerName = "AdventureWorksEntities";

ObjectSet<Product> query = context.CreateObjectSet<Product>();

// Iterate through the collection of Products.
foreach (Product result in query)
    Console.WriteLine("Product Name: {0}", result.Name);
' Create the ObjectContext. 
Dim context As New ObjectContext("name=AdventureWorksEntities")

' Set the DefaultContainerName for the ObjectContext.
' When DefaultContainerName is set, the Entity Framework only
' searches for the type in the specified container. 
' Note that if a type is defined only once in the metadata workspace
' you do not have to set the DefaultContainerName.
context.DefaultContainerName = "AdventureWorksEntities"

Dim query As ObjectSet(Of Product) = context.CreateObjectSet(Of Product)()

' Iterate through the collection of Products. 
For Each result As Product In query
    Console.WriteLine("Product Name: {0}", result.Name)
Next

注釈

注意

ObjectContext クラスはスレッド セーフではありません。 のデータオブジェクトの整合性は、 ObjectContext マルチスレッドのシナリオでは保証できません。

クラスは、 ObjectContext 概念モデルで定義されているエンティティ型のインスタンスであるオブジェクトとしてデータを操作するための主要なクラスです。 ObjectContext クラスのインスタンスでは、次のものがカプセル化されます。

  • データベースへの接続 (EntityConnection オブジェクトの形式)

  • モデルを記述するメタデータ (MetadataWorkspace オブジェクトの形式)。

  • キャッシュに保存されているオブジェクトを管理する ObjectStateManager オブジェクト

概念モデルを表すオブジェクトレイヤーが Entity Data Model ツールによって生成されると、モデルのを表すクラスは EntityContainer から派生し ObjectContext ます。

コンストラクター

ObjectContext(EntityConnection)

指定された接続を使用して、ObjectContext クラスの新しいインスタンスを初期化します。 構築時に、メタデータ ワークスペースが EntityConnection オブジェクトから抽出されます。

ObjectContext(EntityConnection, String)

指定された接続およびエンティティ コンテナー名を使用して、ObjectContext クラスの新しいインスタンスを初期化します。

ObjectContext(String)

指定された接続文字列および既定のエンティティ コンテナー名を使用して、ObjectContext クラスの新しいインスタンスを初期化します。

ObjectContext(String, String)

指定された接続文字列およびエンティティ コンテナー名を使用して、ObjectContext クラスの新しいインスタンスを初期化します。

プロパティ

CommandTimeout

すべてのオブジェクト コンテキスト操作のタイムアウト値の秒数を取得または設定します。 null 値の場合は、基になるプロバイダーの既定値が使用されます。

Connection

オブジェクト コンテキストで使用される接続を取得します。

ContextOptions

ObjectContextOptions の動作に影響するオプションを格納する ObjectContext インスタンスを取得します。

DefaultContainerName

既定のコンテナー名を取得または設定します。

MetadataWorkspace

オブジェクト コンテキストで使用されるメタデータ ワークスペースを取得します。

ObjectStateManager

オブジェクトの変更を追跡するためにオブジェクト コンテキストで使用されるオブジェクト状態マネージャーを取得します。

QueryProvider

このオブジェクト コンテキストに関連付けられている LINQ クエリ プロバイダーを取得します。

メソッド

AcceptAllChanges()

オブジェクト コンテキストでのオブジェクトに対するすべての変更を受け入れます。

AddObject(String, Object)

オブジェクトをオブジェクト コンテキストに追加します。

ApplyCurrentValues<TEntity>(String, TEntity)

指定されたオブジェクトのスカラー値を、同じキーを持つ ObjectContext のオブジェクトにコピーします。

ApplyOriginalValues<TEntity>(String, TEntity)

指定されたオブジェクトのスカラー値を、同じキーを持つ ObjectContext のオブジェクトの一連の元の値にコピーします。

ApplyPropertyChanges(String, Object)
互換性のために残されています。

デタッチしたオブジェクトのプロパティの変更を、オブジェクト コンテキストに既にアタッチされているオブジェクトに適用します。

Attach(IEntityWithKey)

オブジェクトがエンティティ キーを持つ場合にオブジェクトまたはオブジェクト グラフをオブジェクト コンテキストにアタッチします。

AttachTo(String, Object)

オブジェクトまたはオブジェクト グラフをオブジェクト コンテキストの特定のエンティティ セットにアタッチします。

CreateDatabase()

現在のデータ ソース接続と StoreItemCollection のメタデータを使用して、データベースを作成します。

CreateDatabaseScript()

StoreItemCollection 内のメタデータに対するスキーマ オブジェクト (テーブル、主キー、外部キー) を作成するデータ定義言語 (DDL) スクリプトを生成します。 StoreItemCollection は、ストア スキーマ定義言語 (SSDL) ファイルからメタデータを読み込みます。

CreateEntityKey(String, Object)

特定のオブジェクトのエンティティ キーを作成するか、エンティティ キーが既に存在する場合はそのエンティティ キーを返します。

CreateObject<T>()

要求された型のインスタンスを作成して返します。

CreateObjectSet<TEntity>()

指定したエンティティ型のオブジェクトを照会、作成、変更、および削除するために使用される新しい ObjectSet<TEntity> インスタンスを作成します。

CreateObjectSet<TEntity>(String)

指定したエンティティ セット名を使用して、指定したエンティティ型のオブジェクトを照会、作成、変更、および削除するために使用される新しい ObjectSet<TEntity> インスタンスを作成します。

CreateProxyTypes(IEnumerable<Type>)

列挙体で指定されたそれぞれの型に対して、Entity Framework で使用できる同等の型を生成します。

CreateQuery<T>(String, ObjectParameter[])

指定されたクエリ文字列を使用して、現在のオブジェクト コンテキストで ObjectQuery<T> を作成します。

DatabaseExists()

現在のデータ ソース接続でデータベースとして指定されているデータベースがデータ ソースに存在するかどうかを確認します。

DeleteDatabase()

現在のデータ ソース接続でデータベースとして指定されているデータベースを削除します。

DeleteObject(Object)

オブジェクトを削除の対象としてマークします。

Detach(Object)

オブジェクトをオブジェクト コンテキストから削除します。

DetectChanges()

ObjectStateEntry の変更が、ObjectStateManager によって追跡されるすべてのオブジェクトの変更と同期されるようにします。

Dispose()

オブジェクト コンテキストで使用されるリソースを解放します。

Dispose(Boolean)

オブジェクト コンテキストで使用されるリソースを解放します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
ExecuteFunction(String, ObjectParameter[])

データ ソースで定義され、概念モデルで表現されるストアド プロシージャまたは関数を実行します。関数から返される結果は破棄され、実行によって影響を受けた行の数が返されます。

ExecuteFunction<TElement>(String, MergeOption, ObjectParameter[])

データ ソースで定義され、概念モデルで表現される指定のストアド プロシージャまたは関数を、パラメーターとマージ オプションを指定して実行します。 型指定された ObjectResult<T> を返します。

ExecuteFunction<TElement>(String, ObjectParameter[])

データ ソースで定義され、概念モデルにマップされたストアド プロシージャまたは関数を、パラメーターを指定して実行します。 型指定された ObjectResult<T> を返します。

ExecuteStoreCommand(String, Object[])

既存の接続を使用して、データ ソースに対して任意のコマンドを直接実行します。

ExecuteStoreQuery<TElement>(String, Object[])

型指定された結果のシーケンスを返すデータ ソースに対して、クエリを直接実行します。

ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[])

データ ソースに対してクエリを直接実行し、型指定された結果のシーケンスを返します。 クエリの結果をエンティティとして追跡できるように、エンティティ セットとマージ オプションを指定します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetKnownProxyTypes()

既存のプロキシ型をすべて返します。

GetObjectByKey(EntityKey)

指定されたエンティティ キーを持つオブジェクトを返します。

GetObjectType(Type)

指定した型のプロキシ オブジェクトに関連付けられている POCO エンティティのエンティティ型を返します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
LoadProperty(Object, String)

指定したナビゲーション プロパティと既定のマージ オプションを使用して、指定したオブジェクトに関連するオブジェクトを明示的に読み込みます。

LoadProperty(Object, String, MergeOption)

指定したナビゲーション プロパティと指定したマージ オプションを使用して、指定したオブジェクトに関連するオブジェクトを明示的に読み込みます。

LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>)

指定した LINQ クエリと既定のマージ オプションを使用して、指定したオブジェクトに関連するオブジェクトを明示的に読み込みます。

LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>, MergeOption)

指定した LINQ クエリと指定したマージ オプションを使用して、指定したオブジェクトに関連するオブジェクトを明示的に読み込みます。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
Refresh(RefreshMode, IEnumerable)

オブジェクト コンテキスト内のオブジェクトのコレクションをデータ ソース内のデータで更新します。

Refresh(RefreshMode, Object)

オブジェクト コンテキスト内のオブジェクトをデータ ソース内のデータで更新します。

SaveChanges()

すべての更新をデータ ソースに保存して、オブジェクト コンテキストの変更の追跡をリセットします。

SaveChanges(Boolean)
互換性のために残されています。

すべての更新をデータ ソースに保存して、必要に応じてオブジェクト コンテキストの変更の追跡をリセットします。

SaveChanges(SaveOptions)

指定した SaveOptions を使用して、すべての更新をデータ ソースに保存します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
Translate<TElement>(DbDataReader)

エンティティ データの行を含む DbDataReader を、要求されたエンティティ型のオブジェクトに変換します。

Translate<TEntity>(DbDataReader, String, MergeOption)

エンティティ セットとマージ オプションを指定して、エンティティ データの行を含む DbDataReader を、要求されたエンティティ型のオブジェクトに変換します。

TryGetObjectByKey(EntityKey, Object)

指定されたエンティティ キーを持つオブジェクトを返します。

イベント

ObjectMaterialized

クエリまたは読み込み操作の一部として、データ ソース内のデータから新しいエンティティ オブジェクトが作成されたときに発生します。

SavingChanges

変更内容がデータ ソースに保存されるときに発生します。

適用対象

こちらもご覧ください