ObjectContext ObjectContext ObjectContext ObjectContext Class

定義

エンティティ データをオブジェクトとして、クエリや操作を実行するための機能を提供します。Provides facilities for querying and working with entity data as objects.

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

この例は、 AdventureWorks Sales Modelに基づいています。This example is based on the AdventureWorks Sales Model. この例では、ObjectContext を作成する方法を示します。The example shows you how to construct an 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 クラスはスレッド セーフではありません。The ObjectContext class is not thread safe. のデータオブジェクトの整合性は、 ObjectContextマルチスレッドのシナリオでは保証できません。The integrity of data objects in an ObjectContext cannot be ensured in multithreaded scenarios.

ObjectContextクラスは、概念モデルで定義されているエンティティ型のインスタンスであるオブジェクトとしてデータを操作するための主要なクラスです。The ObjectContext class is the primary class for interacting with data as objects that are instances of entity types that are defined in a conceptual model. ObjectContext クラスのインスタンスでは、次のものがカプセル化されます。An instance of the ObjectContext class encapsulates the following:

概念モデルを表すオブジェクトレイヤーが Entity Data Model ツールによって生成されると、モデルEntityContainerのを表すクラスはObjectContextから派生します。When the object layer that represents a conceptual model is generated by the Entity Data Model tools, the class that represents the EntityContainer for the model is derived from the ObjectContext.

コンストラクター

ObjectContext(EntityConnection) ObjectContext(EntityConnection) ObjectContext(EntityConnection) ObjectContext(EntityConnection)

指定した接続を使用して ObjectContext クラスの新しいインスタンスを初期化します。Initializes a new instance of the ObjectContext class with the given connection. 構築時に、EntityConnection オブジェクトからメタデータ ワークスペースが抽出されます。During construction, the metadata workspace is extracted from the EntityConnection object.

ObjectContext(EntityConnection, String) ObjectContext(EntityConnection, String) ObjectContext(EntityConnection, String) ObjectContext(EntityConnection, String)

接続とエンティティ コンテナー名を指定して、ObjectContext クラスの新しいインスタンスを初期化します。Initializes a new instance of the ObjectContext class with a given connection and entity container name.

ObjectContext(String) ObjectContext(String) ObjectContext(String) ObjectContext(String)

指定した接続文字列と既定のエンティティ コンテナー名を使用して、ObjectContext クラスの新しいインスタンスを初期化します。Initializes a new instance of the ObjectContext class with the given connection string and default entity container name.

ObjectContext(String, String) ObjectContext(String, String) ObjectContext(String, String) ObjectContext(String, String)

接続文字列とエンティティ コンテナー名を指定して、ObjectContext クラスの新しいインスタンスを初期化します。Initializes a new instance of the ObjectContext class with a given connection string and entity container name.

プロパティ

CommandTimeout CommandTimeout CommandTimeout CommandTimeout

すべてのオブジェクト コンテキスト操作のタイムアウト値を秒数で取得または設定します。Gets or sets the timeout value, in seconds, for all object context operations. null 値の場合は、基になるプロバイダーの既定値が使用されます。A null value indicates that the default value of the underlying provider will be used.

Connection Connection Connection Connection

オブジェクト コンテキストで使用される接続を取得します。Gets the connection used by the object context.

ContextOptions ContextOptions ContextOptions ContextOptions

ObjectContextOptions の動作に影響するオプションを格納する ObjectContext インスタンスを取得します。Gets the ObjectContextOptions instance that contains options that affect the behavior of the ObjectContext.

DefaultContainerName DefaultContainerName DefaultContainerName DefaultContainerName

既定のコンテナー名を取得または設定します。Gets or sets the default container name.

MetadataWorkspace MetadataWorkspace MetadataWorkspace MetadataWorkspace

オブジェクト コンテキストで使用されるメタデータ ワークスペースを取得します。Gets the metadata workspace used by the object context.

ObjectStateManager ObjectStateManager ObjectStateManager ObjectStateManager

オブジェクトの変更を追跡するためにオブジェクト コンテキストで使用されるオブジェクト状態マネージャーを取得します。Gets the object state manager used by the object context to track object changes.

QueryProvider QueryProvider QueryProvider QueryProvider

このオブジェクト コンテキストに関連付けられている LINQ クエリ プロバイダーを取得します。Gets the LINQ query provider associated with this object context.

メソッド

AcceptAllChanges() AcceptAllChanges() AcceptAllChanges() AcceptAllChanges()

オブジェクト コンテキストでのオブジェクトに対するすべての変更を受け入れます。Accepts all changes made to objects in the object context.

AddObject(String, Object) AddObject(String, Object) AddObject(String, Object) AddObject(String, Object)

オブジェクト コンテキストにオブジェクトを追加します。Adds an object to the object context.

ApplyCurrentValues<TEntity>(String, TEntity) ApplyCurrentValues<TEntity>(String, TEntity) ApplyCurrentValues<TEntity>(String, TEntity) ApplyCurrentValues<TEntity>(String, TEntity)

指定されたオブジェクトのスカラー値を、同じキーを持つ ObjectContext のオブジェクトにコピーします。Copies the scalar values from the supplied object into the object in the ObjectContext that has the same key.

ApplyOriginalValues<TEntity>(String, TEntity) ApplyOriginalValues<TEntity>(String, TEntity) ApplyOriginalValues<TEntity>(String, TEntity) ApplyOriginalValues<TEntity>(String, TEntity)

指定されたオブジェクトのスカラー値を、同じキーを持つ ObjectContext のオブジェクトの元の値のセットにコピーします。Copies the scalar values from the supplied object into set of original values for the object in the ObjectContext that has the same key.

ApplyPropertyChanges(String, Object) ApplyPropertyChanges(String, Object) ApplyPropertyChanges(String, Object) ApplyPropertyChanges(String, Object)

デタッチされているオブジェクトのプロパティの変更を、オブジェクト コンテキストに既にアタッチされているオブジェクトに適用します。Applies property changes from a detached object to an object already attached to the object context.

Attach(IEntityWithKey) Attach(IEntityWithKey) Attach(IEntityWithKey) Attach(IEntityWithKey)

オブジェクトがエンティティ キーを持つ場合にオブジェクトまたはオブジェクト グラフをオブジェクト コンテキストにアタッチします。Attaches an object or object graph to the object context when the object has an entity key.

AttachTo(String, Object) AttachTo(String, Object) AttachTo(String, Object) AttachTo(String, Object)

オブジェクトまたはオブジェクト グラフをオブジェクト コンテキストの特定のエンティティ セットにアタッチします。Attaches an object or object graph to the object context in a specific entity set.

CreateDatabase() CreateDatabase() CreateDatabase() CreateDatabase()

現在のデータ ソース接続と StoreItemCollection のメタデータを使用して、データベースを作成します。Creates the database by using the current data source connection and the metadata in the StoreItemCollection.

CreateDatabaseScript() CreateDatabaseScript() CreateDatabaseScript() CreateDatabaseScript()

StoreItemCollection 内のメタデータに対するスキーマ オブジェクト (テーブル、主キー、外部キー) を作成するデータ定義言語 (DDL) スクリプトを生成します。Generates a data definition language (DDL) script that creates schema objects (tables, primary keys, foreign keys) for the metadata in the StoreItemCollection. StoreItemCollection は、ストア スキーマ定義言語 (SSDL) ファイルからメタデータを読み込みます。The StoreItemCollection loads metadata from store schema definition language (SSDL) files.

CreateEntityKey(String, Object) CreateEntityKey(String, Object) CreateEntityKey(String, Object) CreateEntityKey(String, Object)

特定のオブジェクトのエンティティ キーを作成するか、エンティティ キーが既に存在する場合はそのエンティティ キーを返します。Creates the entity key for a specific object, or returns the entity key if it already exists.

CreateObject<T>() CreateObject<T>() CreateObject<T>() CreateObject<T>()

要求された型のインスタンスを作成して返します。Creates and returns an instance of the requested type .

CreateObjectSet<TEntity>() CreateObjectSet<TEntity>() CreateObjectSet<TEntity>() CreateObjectSet<TEntity>()

指定したエンティティ型のオブジェクトを照会、作成、変更、および削除するために使用される新しい ObjectSet<TEntity> インスタンスを作成します。Creates a new ObjectSet<TEntity> instance that is used to query, add, modify, and delete objects of the specified entity type.

CreateObjectSet<TEntity>(String) CreateObjectSet<TEntity>(String) CreateObjectSet<TEntity>(String) CreateObjectSet<TEntity>(String)

指定したエンティティ セット名を使用して、指定したエンティティ型のオブジェクトを照会、作成、変更、および削除するために使用される新しい ObjectSet<TEntity> インスタンスを作成します。Creates a new ObjectSet<TEntity> instance that is used to query, add, modify, and delete objects of the specified type and with the specified entity set name.

CreateProxyTypes(IEnumerable<Type>) CreateProxyTypes(IEnumerable<Type>) CreateProxyTypes(IEnumerable<Type>) CreateProxyTypes(IEnumerable<Type>)

列挙体で指定されたそれぞれの型に対して、Entity Framework で使用できる同等の型を生成します。Generates an equivalent type that can be used with the Entity Framework for each type in the supplied enumeration.

CreateQuery<T>(String, ObjectParameter[]) CreateQuery<T>(String, ObjectParameter[]) CreateQuery<T>(String, ObjectParameter[]) CreateQuery<T>(String, ObjectParameter[])

指定したクエリ文字列を使用して、現在のオブジェクト コンテキストで ObjectQuery<T> を作成します。Creates an ObjectQuery<T> in the current object context by using the specified query string.

DatabaseExists() DatabaseExists() DatabaseExists() DatabaseExists()

現在のデータ ソース接続でデータベースとして指定されているデータベースがデータ ソースに存在するかどうかを確認します。Checks if the database that is specified as the database in the current data source connection exists on the data source.

DeleteDatabase() DeleteDatabase() DeleteDatabase() DeleteDatabase()

現在のデータ ソース接続でデータベースとして指定されているデータベースを削除します。Deletes the database that is specified as the database in the current data source connection.

DeleteObject(Object) DeleteObject(Object) DeleteObject(Object) DeleteObject(Object)

オブジェクトを削除の対象としてマークします。Marks an object for deletion.

Detach(Object) Detach(Object) Detach(Object) Detach(Object)

オブジェクトをオブジェクト コンテキストから削除します。Removes the object from the object context.

DetectChanges() DetectChanges() DetectChanges() DetectChanges()

ObjectStateEntry の変更が、ObjectStateManager によって追跡されるすべてのオブジェクトの変更と同期されるようにします。Ensures that ObjectStateEntry changes are synchronized with changes in all objects that are tracked by the ObjectStateManager.

Dispose() Dispose() Dispose() Dispose()

オブジェクト コンテキストで使用されるリソースを解放します。Releases the resources used by the object context.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

オブジェクト コンテキストで使用されるリソースを解放します。Releases the resources used by the object context.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
ExecuteFunction(String, ObjectParameter[]) ExecuteFunction(String, ObjectParameter[]) ExecuteFunction(String, ObjectParameter[]) ExecuteFunction(String, ObjectParameter[])

データ ソースで定義され、概念モデルで表現されるストアド プロシージャまたは関数を実行します。関数から返される結果は破棄され、実行によって影響を受けた行の数が返されます。Executes a stored procedure or function that is defined in the data source and expressed in the conceptual model; discards any results returned from the function; and returns the number of rows affected by the execution.

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

データ ソースで定義され、概念モデルで表現される指定のストアド プロシージャまたは関数を、パラメーターとマージ オプションを指定して実行します。Executes the given stored procedure or function that is defined in the data source and expressed in the conceptual model, with the specified parameters, and merge option. 型指定された ObjectResult<T> を返します。Returns a typed ObjectResult<T>.

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

データ ソースで定義され、概念モデルにマップされたストアド プロシージャまたは関数を、パラメーターを指定して実行します。Executes a stored procedure or function that is defined in the data source and mapped in the conceptual model, with the specified parameters. 型指定された ObjectResult<T> を返します。Returns a typed ObjectResult<T>.

ExecuteStoreCommand(String, Object[]) ExecuteStoreCommand(String, Object[]) ExecuteStoreCommand(String, Object[]) ExecuteStoreCommand(String, Object[])

既存の接続を使用して、データ ソースに対して任意のコマンドを直接実行します。Executes an arbitrary command directly against the data source using the existing connection.

ExecuteStoreQuery<TElement>(String, Object[]) ExecuteStoreQuery<TElement>(String, Object[]) ExecuteStoreQuery<TElement>(String, Object[]) ExecuteStoreQuery<TElement>(String, Object[])

型指定された結果のシーケンスを返すデータ ソースに対して、クエリを直接実行します。Executes a query directly against the data source that returns a sequence of typed results.

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

データ ソースに対してクエリを直接実行し、型指定された結果のシーケンスを返します。Executes a query directly against the data source and returns a sequence of typed results. クエリの結果をエンティティとして追跡できるように、エンティティ セットとマージ オプションを指定します。Specify the entity set and the merge option so that query results can be tracked as entities.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetKnownProxyTypes() GetKnownProxyTypes() GetKnownProxyTypes() GetKnownProxyTypes()

既存のプロキシ型をすべて返します。Returns all the existing proxy types.

GetObjectByKey(EntityKey) GetObjectByKey(EntityKey) GetObjectByKey(EntityKey) GetObjectByKey(EntityKey)

指定したエンティティ キーを持つオブジェクトを返します。Returns an object that has the specified entity key.

GetObjectType(Type) GetObjectType(Type) GetObjectType(Type) GetObjectType(Type)

指定した型のプロキシ オブジェクトに関連付けられている POCO エンティティのエンティティ型を返します。Returns the entity type of the POCO entity associated with a proxy object of a specified type.

GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
LoadProperty(Object, String) LoadProperty(Object, String) LoadProperty(Object, String) LoadProperty(Object, String)

指定したナビゲーション プロパティと既定のマージ オプションを使用して、指定したオブジェクトに関連するオブジェクトを明示的に読み込みます。Explicitly loads an object related to the supplied object by the specified navigation property and using the default merge option.

LoadProperty(Object, String, MergeOption) LoadProperty(Object, String, MergeOption) LoadProperty(Object, String, MergeOption) LoadProperty(Object, String, MergeOption)

指定したナビゲーション プロパティと指定したマージ オプションを使用して、指定したオブジェクトに関連するオブジェクトを明示的に読み込みます。Explicitly loads an object that is related to the supplied object by the specified navigation property and using the specified merge option.

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

指定した LINQ クエリと既定のマージ オプションを使用して、指定したオブジェクトに関連するオブジェクトを明示的に読み込みます。Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the default merge option.

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

指定した LINQ クエリと指定したマージ オプションを使用して、指定したオブジェクトに関連するオブジェクトを明示的に読み込みます。Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the specified merge option.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
Refresh(RefreshMode, IEnumerable) Refresh(RefreshMode, IEnumerable) Refresh(RefreshMode, IEnumerable) Refresh(RefreshMode, IEnumerable)

オブジェクト コンテキスト内のオブジェクトのコレクションをデータ ソースのデータで更新します。Updates a collection of objects in the object context with data from the data source.

Refresh(RefreshMode, Object) Refresh(RefreshMode, Object) Refresh(RefreshMode, Object) Refresh(RefreshMode, Object)

オブジェクト コンテキスト内のオブジェクトをデータ ソースのデータで更新します。Updates an object in the object context with data from the data source.

SaveChanges() SaveChanges() SaveChanges() SaveChanges()

すべての更新をデータ ソースに保存し、オブジェクト コンテキストの変更の追跡をリセットします。Persists all updates to the data source and resets change tracking in the object context.

SaveChanges(Boolean) SaveChanges(Boolean) SaveChanges(Boolean) SaveChanges(Boolean)

すべての更新をデータ ソースに保存し、必要に応じてオブジェクト コンテキストの変更の追跡をリセットします。Persists all updates to the data source and optionally resets change tracking in the object context.

SaveChanges(SaveOptions) SaveChanges(SaveOptions) SaveChanges(SaveOptions) SaveChanges(SaveOptions)

指定した SaveOptions を使用して、すべての更新をデータ ソースに保存します。Persists all updates to the data source with the specified SaveOptions.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)
Translate<TElement>(DbDataReader) Translate<TElement>(DbDataReader) Translate<TElement>(DbDataReader) Translate<TElement>(DbDataReader)

エンティティ データの行を含む DbDataReader を、要求されたエンティティ型のオブジェクトに変換します。Translates a DbDataReader that contains rows of entity data to objects of the requested entity type.

Translate<TEntity>(DbDataReader, String, MergeOption) Translate<TEntity>(DbDataReader, String, MergeOption) Translate<TEntity>(DbDataReader, String, MergeOption) Translate<TEntity>(DbDataReader, String, MergeOption)

エンティティ セットとマージ オプションを指定して、エンティティ データの行を含む DbDataReader を、要求されたエンティティ型のオブジェクトに変換します。Translates a DbDataReader that contains rows of entity data to objects of the requested entity type, in a specific entity set, and with the specified merge option.

TryGetObjectByKey(EntityKey, Object) TryGetObjectByKey(EntityKey, Object) TryGetObjectByKey(EntityKey, Object) TryGetObjectByKey(EntityKey, Object)

指定したエンティティ キーを持つオブジェクトを返します。Returns an object that has the specified entity key.

イベント

ObjectMaterialized ObjectMaterialized ObjectMaterialized ObjectMaterialized

クエリまたは読み込み操作の一部として、データ ソース内のデータから新しいエンティティ オブジェクトが作成されたときに発生します。Occurs when a new entity object is created from data in the data source as part of a query or load operation.

SavingChanges SavingChanges SavingChanges SavingChanges

変更がデータ ソースに保存されるときに発生します。Occurs when changes are saved to the data source.

適用対象

こちらもご覧ください