ObjectQuery<T> 클래스

정의

지정된 개체 컨텍스트의 개념적 모델에 대해 형식화된 쿼리를 나타냅니다.Represents a typed query against a conceptual model in a given object context.

generic <typename T>
public ref class ObjectQuery : System::Data::Objects::ObjectQuery, System::Collections::Generic::IEnumerable<T>, System::ComponentModel::IListSource, System::Linq::IOrderedQueryable<T>, System::Linq::IQueryable<T>
public class ObjectQuery<T> : System.Data.Objects.ObjectQuery, System.Collections.Generic.IEnumerable<T>, System.ComponentModel.IListSource, System.Linq.IOrderedQueryable<T>, System.Linq.IQueryable<T>
type ObjectQuery<'T> = class
    inherit ObjectQuery
    interface seq<'T>
    interface IEnumerable
    interface IQueryable<'T>
    interface IQueryable
    interface IOrderedQueryable<'T>
    interface IOrderedQueryable
    interface IListSource
Public Class ObjectQuery(Of T)
Inherits ObjectQuery
Implements IEnumerable(Of T), IListSource, IOrderedQueryable(Of T), IQueryable(Of T)

형식 매개 변수

T

쿼리의 엔터티 형식입니다.The entity type of the query.

상속
ObjectQuery<T>
파생
구현

예제

이 항목의 예제는 기준으로 합니다 AdventureWorks Sales 모델합니다.The example in this topic is based on the AdventureWorks Sales Model.

예제에서는 ObjectQuery<T> 클래스의 인스턴스를 생성하는 방법을 보여 줍니다.The example shows how to construct an instance of the ObjectQuery<T> class.

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    // Call the constructor with a query for products and the ObjectContext.
    ObjectQuery<Product> productQuery1 =
        new ObjectQuery<Product>("Products", context);

    foreach (Product result in productQuery1)
        Console.WriteLine("Product Name: {0}", result.Name);

    string queryString =
        @"SELECT VALUE product FROM AdventureWorksEntities.Products AS product";

    // Call the constructor with the specified query and the ObjectContext.
    ObjectQuery<Product> productQuery2 =
        new ObjectQuery<Product>(queryString, context);

    foreach (Product result in productQuery2)
        Console.WriteLine("Product Name: {0}", result.Name);

    // Call the constructor with the specified query, the ObjectContext, 
    // and the NoTracking merge option.
    ObjectQuery<Product> productQuery3 =
        new ObjectQuery<Product>(queryString,
            context, MergeOption.NoTracking);

    foreach (Product result in productQuery3)
        Console.WriteLine("Product Name: {0}", result.Name);
}
Using context As New AdventureWorksEntities()
    ' Call the constructor with a query for products and the ObjectContext. 
    Dim productQuery1 As New ObjectQuery(Of Product)("Products", context)

    For Each result As Product In productQuery1
        Console.WriteLine("Product Name: {0}", result.Name)
    Next

    Dim queryString As String = "SELECT VALUE product FROM AdventureWorksEntities.Products AS product"

    ' Call the constructor with the specified query and the ObjectContext. 
    Dim productQuery2 As New ObjectQuery(Of Product)(queryString, context)

    For Each result As Product In productQuery2
        Console.WriteLine("Product Name: {0}", result.Name)
    Next

    ' Call the constructor with the specified query, the ObjectContext, 
    ' and the NoTracking merge option. 
    Dim productQuery3 As New ObjectQuery(Of Product)(queryString, context, MergeOption.NoTracking)

    For Each result As Product In productQuery3
        Console.WriteLine("Product Name: {0}", result.Name)
    Next
End Using

설명

ObjectQuery<T> 제네릭 클래스는 0개 이상의 특정 형식에 대한 개체로 구성된 컬렉션을 반환하는 쿼리를 나타냅니다.The ObjectQuery<T> generic class represents a query that returns a collection of zero or more objects of a specific type. 개체 쿼리를 실행하기 전에 ObjectContext를 정의해야 합니다.The ObjectContext must be defined before an object query can be executed. 이 컨텍스트는 쿼리를 작성하고 실행하는 데 필요한 연결 및 메타데이터 정보를 제공합니다.This context provides the connection and metadata information that is required to compose and execute the query. 개체 쿼리는 다음 시나리오에서 실행됩니다.An object query is executed in the following scenarios:

  • foreach(C#) 또는 For Each(Visual Basic) 열거 작업 등이 수행된 경우When it is acted upon, such as during a foreach (C#) or For Each (Visual Basic) enumeration.

  • List<T> 컬렉션을 채우기 위해 할당된 경우When it is assigned to fill a List<T> collection.

  • Execute 메서드를 명시적으로 호출한 경우When the Execute method is explicitly called.

쿼리 자체는 Entity SQLEntity SQL 문 또는 LINQ 쿼리를 사용하여 만들거나 클래스에 포함된 쿼리 작성기 메서드를 사용하여 증분 빌드할 수 있습니다.The query itself can be created by using an Entity SQLEntity SQL statement or a LINQ query, or it can be incrementally built by using the query builder methods included in the class. 그 결과, 명시적으로 실행되거나 열거되면 실행할 데이터 소스에 쿼리를 보내고 결과를 반환하는 새 ObjectQuery<T> 인스턴스가 만들어집니다.In every case, the result is a new ObjectQuery<T> instance that, when explicitly executed or enumerated over, will send the query to the data source for execution and return the results.

ObjectQuery<T>는 대개 엔터티 형식이지만 익명 형식에 대한 프로젝션의 경우 DbDataRecord 형식일 수도 있으며 정수나 문자열 같은 기본 형식일 수도 있습니다.An ObjectQuery<T> is frequently of an entity type, but it can also be of DbDataRecord type, for projections to an anonymous type, or of a primitive type, such as an integer or string. 자세한 내용은 개체 쿼리합니다.For more information, see Object Queries.

생성자

ObjectQuery<T>(String, ObjectContext)

지정된 Entity SQLEntity SQL 명령을 초기 쿼리로 사용하여 새 ObjectQuery<T> 인스턴스를 만듭니다.Creates a new ObjectQuery<T> instance using the specified Entity SQLEntity SQL command as the initial query.

ObjectQuery<T>(String, ObjectContext, MergeOption)

지정된 Entity SQLEntity SQL 명령을 초기 쿼리로 사용하고 지정된 병합 옵션을 사용하여 새 ObjectQuery<T> 인스턴스를 만듭니다.Creates a new ObjectQuery<T> instance using the specified Entity SQLEntity SQL command as the initial query and the specified merge option.

속성

CommandText

쿼리의 명령 텍스트를 반환합니다.Returns the command text for the query.

(다음에서 상속됨 ObjectQuery)
Context

이 개체 쿼리와 관련된 개체 컨텍스트를 가져옵니다.Gets the object context associated with this object query.

(다음에서 상속됨 ObjectQuery)
EnablePlanCaching

쿼리 계획을 캐시해야 하는지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that indicates whether the query plan should be cached.

(다음에서 상속됨 ObjectQuery)
MergeOption

쿼리에서 반환되는 개체를 개체 컨텍스트에 추가하는 방법을 가져오거나 설정합니다.Gets or sets how objects returned from a query are added to the object context.

(다음에서 상속됨 ObjectQuery)
Name

이 개체 쿼리의 이름을 가져오거나 설정합니다.Gets or sets the name of this object query.

Parameters

이 개체 쿼리에 대한 매개 변수 컬렉션을 가져옵니다.Gets the parameter collection for this object query.

(다음에서 상속됨 ObjectQuery)

메서드

Distinct()

결과가 고유하도록 쿼리를 제한합니다.Limits the query to unique results.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
Except(ObjectQuery<T>)

다른 개체 쿼리의 결과를 기반으로 결과를 제외시켜 쿼리 결과를 제한합니다.Limits the query results by excluding results based on the results of another object query.

Execute(MergeOption)

지정된 병합 옵션을 사용하여 개체 쿼리를 실행합니다.Executes the object query with the specified merge option.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetResultType()

쿼리의 결과 형식에 대한 정보를 반환합니다.Returns information about the result type of the query.

(다음에서 상속됨 ObjectQuery)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
GroupBy(String, String, ObjectParameter[])

지정된 조건으로 쿼리 결과를 그룹화합니다.Groups the query results by the specified criteria.

Include(String)

쿼리 결과에 포함할 관련 개체를 지정합니다.Specifies the related objects to include in the query results.

Intersect(ObjectQuery<T>)

다른 개체 쿼리에 있는 결과만 포함하여 쿼리 결과를 제한합니다.Limits the query results by including only the results that exist in another object query.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
OfType<TResultType>()

특정 형식의 결과로 쿼리를 제한합니다.Limits the query to only results of a specific type.

OrderBy(String, ObjectParameter[])

지정된 조건으로 쿼리 결과를 정렬합니다.Orders the query results by the specified criteria.

Select(String, ObjectParameter[])

지정된 프로젝션에 정의된 속성만으로 쿼리 결과를 제한합니다.Limits the query results to only the properties that are defined in the specified projection.

SelectValue<TResultType>(String, ObjectParameter[])

프로젝션에 지정된 속성만으로 쿼리 결과를 제한합니다.Limits the query results to only the property specified in the projection.

Skip(String, String, ObjectParameter[])

지정된 조건으로 쿼리 결과를 정렬하고 지정된 개수의 결과를 건너뜁니다.Orders the query results by the specified criteria and skips a specified number of results.

Top(String, ObjectParameter[])

지정된 개수의 항목으로 쿼리 결과를 제한합니다.Limits the query results to a specified number of items.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)
ToTraceString()

데이터 원본에 대해 실행할 명령을 반환합니다.Returns the commands to execute against the data source.

(다음에서 상속됨 ObjectQuery)
Union(ObjectQuery<T>)

중복 없이 쿼리 결과를 다른 개체 쿼리의 결과와 결합합니다.Combines the results of the query with the results of another object query, without any duplicates.

UnionAll(ObjectQuery<T>)

모든 중복을 포함하여 쿼리 결과를 다른 개체 쿼리의 결과와 결합합니다.Combines the results of the query with the results of another object query, including all duplicates.

Where(String, ObjectParameter[])

지정된 필터링 조건과 일치하는 결과로 쿼리를 제한합니다.Limits the query to results that match specified filtering criteria.

명시적 인터페이스 구현

IEnumerable.GetEnumerator()

컬렉션을 반복하는 열거자를 반환합니다.Returns an enumerator that iterates through a collection.

(다음에서 상속됨 ObjectQuery)
IEnumerable<T>.GetEnumerator()

쿼리의 결과를 반복하는 열거자를 반환합니다.Returns an enumerator that iterates through the results of the query.

IListSource.ContainsListCollection

쿼리에서 반환되는 컬렉션에 컬렉션 개체가 포함되는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the collection returned by the query contains collection objects.

(다음에서 상속됨 ObjectQuery)
IListSource.GetList()

컬렉션을 데이터 바인딩에 사용되는 IList로 반환합니다.Returns the collection as an IList used for data binding.

(다음에서 상속됨 ObjectQuery)
IQueryable.ElementType

이 쿼리 인스턴스에 대한 결과 요소 형식을 가져옵니다.Gets the result element type for this query instance.

(다음에서 상속됨 ObjectQuery)
IQueryable.Expression

이 쿼리를 설명하는 식을 가져옵니다.Gets the expression describing this query.

(다음에서 상속됨 ObjectQuery)
IQueryable.Provider

이 쿼리 인스턴스와 관련된 LINQ IQueryProvider를 가져옵니다.Gets the LINQ IQueryProvider associated with this query instance.

(다음에서 상속됨 ObjectQuery)

확장 메서드

CopyToDataTable<T>(IEnumerable<T>)

제네릭 매개 변수 TDataTable인 지정된 입력 DataRow 개체를 사용하여 IEnumerable<T> 개체의 복사본이 들어 있는 DataRow을 반환합니다.Returns a DataTable that contains copies of the DataRow objects, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

제네릭 매개 변수 TDataRow인 지정된 입력 DataTable 개체를 사용하여 IEnumerable<T> 개체를 지정된 DataRow에 복사합니다.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

제네릭 매개 변수 TDataRow인 지정된 입력 DataTable 개체를 사용하여 IEnumerable<T> 개체를 지정된 DataRow에 복사합니다.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

Cast<TResult>(IEnumerable)

IEnumerable의 요소를 지정된 형식으로 캐스팅합니다.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

지정된 형식에 따라 IEnumerable의 요소를 필터링합니다.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

쿼리를 병렬화할 수 있도록 합니다.Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerableIQueryable로 변환합니다.Converts an IEnumerable to an IQueryable.

Cast<TResult>(IQueryable)

IQueryable의 요소를 지정된 형식으로 변환합니다.Converts the elements of an IQueryable to the specified type.

OfType<TResult>(IQueryable)

지정된 형식에 따라 IQueryable의 요소를 필터링합니다.Filters the elements of an IQueryable based on a specified type.

SortBy<T>(IQueryable<T>, String)

정렬 순서를 지정합니다.Specifies a sort order.

Ancestors<T>(IEnumerable<T>)

소스 컬렉션에 있는 모든 노드의 상위 항목이 들어 있는 요소 컬렉션을 반환합니다.Returns a collection of elements that contains the ancestors of every node in the source collection.

Ancestors<T>(IEnumerable<T>, XName)

소스 컬렉션에 있는 모든 노드의 상위 항목이 들어 있는 필터링된 요소 컬렉션을 반환합니다.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. 일치하는 XName이 있는 요소만 컬렉션에 포함됩니다.Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>)

소스 컬렉션에 있는 모든 문서 및 요소의 하위 노드 컬렉션을 반환합니다.Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>)

소스 컬렉션에 있는 모든 요소 및 문서의 하위 요소가 들어 있는 요소 컬렉션을 반환합니다.Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

Descendants<T>(IEnumerable<T>, XName)

소스 컬렉션에 있는 모든 요소 및 문서의 하위 요소가 들어 있는 필터링된 요소 컬렉션을 반환합니다.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. 일치하는 XName이 있는 요소만 컬렉션에 포함됩니다.Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>)

소스 컬렉션에 있는 모든 요소 및 문서의 자식 요소 컬렉션을 반환합니다.Returns a collection of the child elements of every element and document in the source collection.

Elements<T>(IEnumerable<T>, XName)

소스 컬렉션에 있는 모든 요소 및 문서의 필터링된 자식 요소 컬렉션을 반환합니다.Returns a filtered collection of the child elements of every element and document in the source collection. 일치하는 XName이 있는 요소만 컬렉션에 포함됩니다.Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>)

소스 컬렉션의 모든 노드가 문서 순으로 정렬되어 들어 있는 노드 컬렉션을 반환합니다.Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>)

소스 컬렉션에 있는 모든 문서 및 요소의 자식 노드 컬렉션을 반환합니다.Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>)

부모 노드에서 소스 컬렉션의 모든 노드를 제거합니다.Removes every node in the source collection from its parent node.

적용 대상

추가 정보