다음을 통해 공유


LinqDataSource.Select 속성

정의

검색된 데이터에 포함된 속성 및 계산 값을 가져오거나 설정합니다.

public:
 property System::String ^ Select { System::String ^ get(); void set(System::String ^ value); };
public string Select { get; set; }
member this.Select : string with get, set
Public Property Select As String

속성 값

Select 절을 만드는 데 사용되는 문자열입니다.

예제

다음 예제에서는 Select 속성을 데이터 개체의 속성 하위 집합으로 설정하는 방법을 보여 줍니다.

<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    Select="new(Name, Category, Price)"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    Select="new(Name, Category, Price)"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>

다음 예제에서는 데이터를 그룹화 하는 데 사용 된 속성에서 값을 검색 하 고 그룹화 된 레코드에 대 한 평균을 검색 하는 방법을 보여 있습니다. Key 키워드에는 데이터 그룹화에 사용된 속성이 포함되어 있습니다. 이 예제에서 KeyProductCategory 속성의 공유 값을 포함합니다.

<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    GroupBy="Category"
    Select="new(Key as ProductCategory, 
            Average(Price) as AvePrice)"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    AllowPaging="true"
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    GroupBy="Category"
    Select="new(Key as ProductCategory, 
            Average(Price) as AvePrice)"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    AllowPaging="true"
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>

설명

Select 속성을 설정하지 않으면 LinqDataSource 컨트롤은 데이터 개체에서 모든 속성(데이터 열)을 검색합니다. Select 속성을 사용하여 개체에서 속성의 하위 집합을 검색하거나 데이터를 검색할 때 새 값을 계산합니다.

Select 속성을 반환된 데이터에 포함할 속성의 이름으로 설정하여 검색할 속성을 지정합니다.

데이터 개체에서 속성의 하위 집합을 검색하는 경우 LinqDataSource 컨트롤은 Select 속성에 지정한 속성만 포함하는 클래스를 동적으로 만듭니다. 데이터 개체의 속성이 아닌 속성을 계산하는 경우에도 클래스가 동적으로 만들어집니다. 이러한 경우 쿼리에서 반환된 개체는 TableName 속성에 지정된 클래스의 인스턴스가 아닙니다. 대신 Select 속성의 new 메서드를 사용하여 쿼리에서 새 클래스가 반환됨을 나타내야 합니다. 예를 들어 이러한 속성을 초과하는 개체에서 FirstNameLastName 속성만 반환하려면 Select 속성을 new(FirstName, LastName)설정합니다. LinqDataSource 컨트롤은 new 메서드에 지정한 새 클래스를 동적으로 만듭니다.

As 키워드를 사용하여 선택한 값에 별칭을 할당할 수 있습니다. 별칭을 할당하는 경우 new 메서드에 별칭이 지정된 속성을 포함해야 합니다. LinqDataSource 컨트롤의 결과에 바인딩되는 데이터 바인딩된 컨트롤은 별칭으로 속성을 참조해야 합니다. 예를 들어 Select 속성을 new(Region As SalesRegion, Revenue / 1000 As RevenueThousands)설정하면 데이터 바인딩된 컨트롤이 SalesRegionRevenueThousands두 속성에 액세스할 수 있습니다.

다음 표에 나열된 조건에 따라 Select 속성에서 new 함수를 사용합니다.

고르다 새 기능 사용 본보기
단일 속성입니다. new 필요하지 않습니다. Select="Category"
여러 속성. new 필요합니다. Select="new(Category, Name)"
별칭이 있는 단일 또는 여러 속성입니다. new 필요합니다. Select="new(Category As CategoryGroup)"

자동 데이터 수정을 사용하도록 설정하지만 데이터 개체의 모든 속성을 표시하지 않으려면 Select 속성을 설정하지 마세요. 대신 데이터 바인딩된 컨트롤을 통해 디스플레이를 관리합니다. DetailsView 컨트롤 또는 GridView 컨트롤을 사용하는 경우 AutoGenerateRows 또는 AutoGenerateColumns 속성을 false설정해야 합니다. 데이터 바인딩된 컨트롤에 표시되지 않는 모든 값은 뷰 상태에 저장됩니다. 데이터 업데이트가 수행될 때 데이터 원본에 변경되지 않은 상태로 전달됩니다.

쿼리에서 데이터를 그룹화할 때 Select 속성에 집계 메서드를 포함할 수 있습니다. 다음 집계 메서드를 사용할 수 있습니다.

  • Count()

  • Average( )

  • Sum( )

  • Max( )

  • Min( )

  • Where( 조건)

  • Any()

  • All( 조건)

자세한 내용은 LinqDataSource 웹 서버 컨트롤 개요방법: LinqDataSource 컨트롤사용하여 데이터 그룹화 및 집계를 참조하세요.

데이터를 그룹화할 때 동적으로 만들어진 속성인 KeyItSelect 속성에 포함할 수 있습니다. Key 속성은 데이터를 그룹화하는 데 사용된 속성 또는 속성의 값을 나타냅니다. 예를 들어 Category속성으로 그룹화하면 Key 속성에 Category 속성의 각 고유 값이 포함됩니다. It 속성은 데이터 그룹의 개별 레코드 컬렉션을 참조합니다. It 속성을 반복하여 그룹화 작업에서 통합된 개별 레코드를 검색할 수 있습니다. 예를 들어 Category속성으로 그룹화하면 It 속성에는 Category 속성의 공통 값을 공유하는 모든 개별 레코드가 포함됩니다.

데이터를 그룹화할 때 Select 속성에 It 키워드를 포함하는 경우 It 키워드에 별칭을 할당해야 합니다. It 별칭이 없으면 LinqDataSource 컨트롤에서 예외가 throw됩니다. Key 키워드에 별칭을 할당할 수 있지만 필수는 아닙니다.

적용 대상