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 모델합니다.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:

개념적 모델을 나타내는 개체 계층이 엔터티 데이터 모델 도구에서 생성 되 면 클래스를 나타내는 합니다 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에 있는 메타데이터에 대한 스키마 개체(테이블, 기본 키, 외래 키)를 만드는 DLL(데이터 정의 언어) 스크립트를 생성합니다.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.

적용 대상

추가 정보