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) |
指定された接続を使用して、ObjectContext クラスの新しいインスタンスを初期化します。 構築時に、メタデータ ワークスペースが EntityConnection オブジェクトから抽出されます。 |
ObjectContext(EntityConnection, String) |
指定された接続およびエンティティ コンテナー名を使用して、ObjectContext クラスの新しいインスタンスを初期化します。 |
ObjectContext(String) |
指定された接続文字列および既定のエンティティ コンテナー名を使用して、ObjectContext クラスの新しいインスタンスを初期化します。 |
ObjectContext(String, String) |
指定された接続文字列およびエンティティ コンテナー名を使用して、ObjectContext クラスの新しいインスタンスを初期化します。 |
プロパティ
CommandTimeout |
すべてのオブジェクト コンテキスト操作のタイムアウト値の秒数を取得または設定します。
|
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 |
変更内容がデータ ソースに保存されるときに発生します。 |
適用対象
こちらもご覧ください
.NET