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됩니다.
생성자
| Name | Description |
|---|---|
| ObjectContext(EntityConnection, String) |
지정된 연결 및 엔터티 컨테이너 이름을 사용하여 클래스의 ObjectContext 새 인스턴스를 초기화합니다. |
| ObjectContext(EntityConnection) |
지정된 연결을 사용하여 클래스의 ObjectContext 새 인스턴스를 초기화합니다. 생성 중에 메타데이터 작업 영역이 개체에서 EntityConnection 추출됩니다. |
| ObjectContext(String, String) |
지정된 연결 문자열 및 엔터티 컨테이너 이름을 사용하여 ObjectContext 클래스의 새 인스턴스를 초기화합니다. |
| ObjectContext(String) |
지정된 연결 문자열 기본 엔터티 컨테이너 이름을 사용하여 ObjectContext 클래스의 새 인스턴스를 초기화합니다. |
속성
| Name | Description |
|---|---|
| CommandTimeout |
모든 개체 컨텍스트 작업에 대한 시간 제한 값(초)을 가져오거나 설정합니다. 값은 |
| Connection |
개체 컨텍스트에서 사용하는 연결을 가져옵니다. |
| ContextOptions |
의 동작에 ObjectContextOptions 영향을 주는 옵션이 포함된 인스턴스를 ObjectContext가져옵니다. |
| DefaultContainerName |
기본 컨테이너 이름을 가져오거나 설정합니다. |
| MetadataWorkspace |
개체 컨텍스트에서 사용하는 메타데이터 작업 영역을 가져옵니다. |
| ObjectStateManager |
개체 컨텍스트에서 개체 변경 내용을 추적하는 데 사용하는 개체 상태 관리자를 가져옵니다. |
| QueryProvider |
이 개체 컨텍스트와 연결된 LINQ 쿼리 공급자를 가져옵니다. |
메서드
| Name | Description |
|---|---|
| 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() |
의 메타데이터에 대한 스키마 개체(테이블, 기본 키, 외식 키)를 만드는 DDL(데이터 정의 언어) 스크립트를 StoreItemCollection생성합니다. SSDL StoreItemCollection (저장소 스키마 정의 언어) 파일에서 메타데이터를 로드합니다. |
| 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) |
지정된 엔터티 키가 있는 개체를 반환합니다. |
이벤트
| Name | Description |
|---|---|
| ObjectMaterialized |
쿼리 또는 로드 작업의 일부로 데이터 원본의 데이터에서 새 엔터티 개체를 만들 때 발생합니다. |
| SavingChanges |
변경 내용이 데이터 원본에 저장되면 발생합니다. |