다음을 통해 공유


ObjectContext 클래스

정의

엔터티 데이터를 개체로 쿼리하고 작업하기 위한 기능을 제공합니다.

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

모든 개체 컨텍스트 작업에 대한 시간 제한 값(초)을 가져오거나 설정합니다. 값은 null 기본 공급자의 기본값이 사용됨을 나타냅니다.

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

변경 내용이 데이터 원본에 저장되면 발생합니다.

적용 대상

추가 정보