다음을 통해 공유


ObjectQuery<T>.Select(String, ObjectParameter[]) 메서드

정의

지정된 프로젝션에 정의된 속성만으로 쿼리 결과를 제한합니다.

public:
 System::Data::Objects::ObjectQuery<System::Data::Common::DbDataRecord ^> ^ Select(System::String ^ projection, ... cli::array <System::Data::Objects::ObjectParameter ^> ^ parameters);
public System.Data.Objects.ObjectQuery<System.Data.Common.DbDataRecord> Select (string projection, params System.Data.Objects.ObjectParameter[] parameters);
member this.Select : string * System.Data.Objects.ObjectParameter[] -> System.Data.Objects.ObjectQuery<System.Data.Common.DbDataRecord>
Public Function Select (projection As String, ParamArray parameters As ObjectParameter()) As ObjectQuery(Of DbDataRecord)

매개 변수

projection
String

프로젝션을 정의하는 선택한 속성 목록입니다.

parameters
ObjectParameter[]

이 메서드에 사용되는 0개 이상의 매개 변수입니다.

반환

원래 인스턴스에 SELECT가 적용된 것과 동일한 DbDataRecord 형식의 새 ObjectQuery<T> 인스턴스입니다.

예외

projectionnull입니다.

또는

parameters이(가) null인 경우

projection이 빈 문자열입니다.

예제

이 예제에서는 결과가 이 쿼리의 결과 필드를 포함하는 ProductID 데이터 레코드인 새 ObjectQuery<T> 를 만듭니다.

int productID = 900;
using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    string queryString = @"SELECT VALUE product FROM
        AdventureWorksEntities.Products AS product
        WHERE product.ProductID > @productID";

    ObjectQuery<Product> productQuery1 =
        new ObjectQuery<Product>(queryString,
            context, MergeOption.NoTracking);

    productQuery1.Parameters.Add(new ObjectParameter("productID", productID));

    ObjectQuery<DbDataRecord> productQuery2 =
        productQuery1.Select("it.ProductID");

    foreach (DbDataRecord result in productQuery2)
    {
        Console.WriteLine("{0}", result["ProductID"]);
    }
}

설명

Select 는 매개 변수에 지정된 프로젝션을 적용합니다 projection . 메서드에서 반환되는 SelectObjectQuery<T> 항상 의 DbDataRecord행 형식입니다. 메서드를 SelectValue 사용하여 단순 형식, 엔터티 형식 또는 복합 형식인 값을 반환합니다. 자세한 내용은 LINQ to Entities를 참조하세요.

탐색 속성이 프로젝션에 포함되면 쿼리 결과에는 중첩된 개체의 컬렉션이 포함됩니다 DbDataRecord .

적용 대상

추가 정보