ObjectContext クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
エンティティ データをオブジェクトとしてクエリおよび操作するための機能を提供します。
public ref class ObjectContext : IDisposable
public class ObjectContext : IDisposable
type ObjectContext = class
interface IDisposable
Public Class ObjectContext
Implements IDisposable
- 継承
-
ObjectContext
- 実装
例
この例では、 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);
注釈
注
ObjectContext クラスはスレッド セーフではありません。 マルチスレッド シナリオでは、 ObjectContext 内のデータ オブジェクトの整合性を確保できません。
ObjectContext クラスは、概念モデルで定義されているエンティティ型のインスタンスであるオブジェクトとしてデータを操作するための主要なクラスです。 ObjectContext クラスのインスタンスは、次をカプセル化します。
EntityConnection オブジェクトの形式でのデータベースへの接続。
モデルを記述するメタデータ ( MetadataWorkspace オブジェクトの形式)。
キャッシュに永続化されたオブジェクトを管理する ObjectStateManager オブジェクト。
概念モデルを表すオブジェクト レイヤーが Entity Data Model ツールによって生成されると、モデルの EntityContainer を表すクラスが ObjectContextから派生します。
コンストラクター
| 名前 | 説明 |
|---|---|
| ObjectContext(EntityConnection, String) |
指定された接続とエンティティ コンテナー名を使用して、 ObjectContext クラスの新しいインスタンスを初期化します。 |
| ObjectContext(EntityConnection) |
指定された接続を使用して、 ObjectContext クラスの新しいインスタンスを初期化します。 構築中、メタデータ ワークスペースは EntityConnection オブジェクトから抽出されます。 |
| ObjectContext(String, String) |
指定した接続文字列とエンティティ コンテナー名を使用して、ObjectContext クラスの新しいインスタンスを初期化します。 |
| ObjectContext(String) |
指定した接続文字列と既定のエンティティ コンテナー名を使用して、ObjectContext クラスの新しいインスタンスを初期化します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| CommandTimeout |
すべてのオブジェクト コンテキスト操作のタイムアウト値を秒単位で取得または設定します。
|
| Connection |
オブジェクト コンテキストによって使用される接続を取得します。 |
| ContextOptions |
ObjectContextの動作に影響するオプションを含むObjectContextOptions インスタンスを取得します。 |
| 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, MergeOption) |
指定したナビゲーション プロパティで指定されたマージ オプションを使用して、指定されたオブジェクトに関連するオブジェクトを明示的に読み込みます。 |
| LoadProperty(Object, String) |
指定したナビゲーション プロパティによって指定されたオブジェクトに関連するオブジェクトを明示的に読み込み、既定のマージ オプションを使用します。 |
| LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>, MergeOption) |
指定した LINQ クエリと指定したマージ オプションを使用して、指定されたオブジェクトに関連するオブジェクトを明示的に読み込みます。 |
| LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>) |
指定した 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 |
変更がデータ ソースに保存されるときに発生します。 |