다음을 통해 공유


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 다음을 캡슐화합니다.

개념적 모델을 나타내는 개체 계층이 엔터티 데이터 모델 도구에서 생성되는 경우 모델에 대한 를 나타내는 EntityContainer 클래스는 에서 ObjectContext파생됩니다.

생성자

ObjectContext(EntityConnection)

지정된 연결을 사용하여 ObjectContext 클래스의 새 인스턴스를 초기화합니다. 생성하는 동안 메타데이터 작업 영역이 EntityConnection 개체에서 추출됩니다.

ObjectContext(EntityConnection, String)

지정된 연결 및 엔터티 컨테이너 이름을 사용하여 ObjectContext 클래스의 새 인스턴스를 초기화합니다.

ObjectContext(String)

지정된 연결 문자열 및 기본 엔터티 컨테이너 이름을 사용하여 ObjectContext 클래스의 새 인스턴스를 초기화합니다.

ObjectContext(String, String)

지정된 연결 문자열 및 엔터티 컨테이너 이름을 사용하여 ObjectContext 클래스의 새 인스턴스를 초기화합니다.

속성

CommandTimeout

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

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에 있는 메타데이터에 대한 스키마 개체(테이블, 기본 키, 외래 키)를 만드는 DLL(데이터 정의 언어) 스크립트를 생성합니다. 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

변경 내용이 데이터 소스에 저장될 때 발생합니다.

적용 대상

추가 정보