LinqDataSource.Select 속성

정의

검색된 데이터에 포함되는 속성 및 계산된 값을 가져오거나 설정합니다.Gets or sets the properties and calculated values that are included in the retrieved data.

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

속성 값

String

Select 절을 만드는 데 사용되는 문자열입니다.A string that is used to create the Select clause.

예제

다음 예제에서는 Select 속성을 데이터 개체의 속성 하위 집합으로 설정 하는 방법을 보여 줍니다.The following example shows how to set the Select property to a subset of properties in the data object.

<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>

다음 예에서는 데이터를 그룹화 하 고 그룹화 된 레코드의 평균을 검색 하는 데 사용 된 속성에서 값을 검색 하는 방법을 보여 줍니다.The following example shows how to retrieve values in a property that has been used to group data, and to retrieve the average for the grouped records. 키워드에는 Key 데이터를 그룹화 하는 데 사용 된 속성이 포함 되어 있습니다.The Key keyword contains the property that has been used for grouping data. 이 예제에서에는 Key 속성의 공유 값이 포함 ProductCategory 됩니다.In this example, Key will contain the shared values from the ProductCategory property.

<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 컨트롤은 데이터 개체에서 모든 속성 (데이터 열)을 검색 합니다.If you do not set the Select property, the LinqDataSource control retrieves all the properties (data columns) from the data object. 속성을 사용 하 여 Select 개체에서 속성의 하위 집합을 검색 하거나 데이터가 검색 될 때 새 값을 계산할 수 있습니다.You use the Select property to retrieve a subset of properties from the object or to calculate new values when the data is being retrieved.

Select속성을 반환 된 데이터에 포함 하려는 속성의 이름으로 설정 하 여 검색할 속성을 지정 합니다.You specify which properties to retrieve by setting the Select property to the names of the properties that you want to include in the returned data.

데이터 개체에서 속성의 하위 집합을 검색 하는 경우 LinqDataSource 컨트롤은 속성에서 지정 하는 속성만 포함 하는 클래스를 동적으로 만듭니다 Select .If you retrieve a subset of properties from the data object, the LinqDataSource control dynamically creates a class that contains only the properties that you specify in the Select property. 데이터 개체의 속성이 아닌 속성을 계산 하는 경우에도 클래스가 동적으로 만들어집니다.A class is also created dynamically if you calculate properties that are not properties in the data object. 이러한 경우 쿼리에서 반환 되는 개체는 속성에 지정 된 클래스의 인스턴스가 아닙니다 TableName .In these cases, the object returned from the query is not an instance of the class that is specified in the TableName property. 대신 new 속성에서 메서드를 사용 Select 하 여 새 클래스가 쿼리에서 반환 되는 것을 나타내야 합니다.Instead, you must use the new method in the Select property to indicate that a new class is returned from the query. 예를 FirstName LastName 들어 이러한 속성을 포함 하는 개체에서 및 속성만 반환 하려면 Select 속성을로 설정 new(FirstName, LastName) 합니다.For example, to return only the FirstName and LastName properties from an object that contains more than these properties, set the Select property to new(FirstName, LastName). LinqDataSource이 컨트롤은 메서드에 지정 된 새 클래스를 동적으로 만듭니다 new .The LinqDataSource control will dynamically create the new class that you specified in the new method.

키워드를 사용 As 하 여 선택한 값에 별칭을 할당할 수 있습니다.You can use the As keyword to assign an alias to a selected value. 별칭을 할당 하는 경우에는 메서드에 별칭이 지정 된 속성을 포함 해야 합니다 new .If you assign an alias, you must include the aliased properties in the new method. 컨트롤의 결과에 바인딩되는 데이터 바인딩된 컨트롤 LinqDataSource 은 별칭으로 속성을 참조 해야 합니다.Any data-bound control that binds to the results from the LinqDataSource control must refer to the property by the alias. 예를 들어 속성을로 설정 하면 Select new(Region As SalesRegion, Revenue / 1000 As RevenueThousands) 데이터 바인딩된 컨트롤이 및의 두 속성에 액세스할 수 있습니다 SalesRegion RevenueThousands .For example, if you set the Select property to new(Region As SalesRegion, Revenue / 1000 As RevenueThousands), the data-bound control can access two properties, SalesRegion and RevenueThousands.

new Select 다음 표에 나열 된 조건에 따라 속성에서 함수를 사용 합니다.You use the new function in the Select property according to the conditions listed in the following table.

선택Select New 사용Use of new Example
단일 속성입니다.Single property. new 필요 하지 않습니다.new not needed. Select="Category"
여러 속성Multiple properties. new 위해서는.new needed. Select="new(Category, Name)"
별칭이 있는 단일 또는 여러 속성Single or multiple properties that have an alias. new 위해서는.new needed. Select="new(Category As CategoryGroup)"

자동 데이터 수정을 사용 하도록 설정 하 고 데이터 개체의 모든 속성을 표시 하지 않으려면 속성을 설정 하지 마십시오 Select .If you want to enable automatic data modifications, but you do not want to display all the properties from the data object, do not set the Select property. 대신 데이터 바인딩된 컨트롤을 통해 표시를 관리 합니다.Instead, manage the display through the data-bound control. DetailsView컨트롤이 나 컨트롤을 사용 하는 경우 GridView AutoGenerateRows 또는 속성도로 설정 해야 합니다 AutoGenerateColumns false .When you use the DetailsView control or the GridView control, you must also set the AutoGenerateRows or the AutoGenerateColumns property to false. 데이터 바인딩된 컨트롤에 표시 되지 않는 모든 값은 뷰 상태에 저장 됩니다.Any values that are not displayed in the data-bound control are stored in view state. 데이터 업데이트가 수행 될 때 데이터 원본에 변경 되지 않은 상태로 전달 됩니다.They are passed unchanged to the data source when the data update is performed.

쿼리에서 데이터를 그룹화 할 때 속성에 집계 메서드를 포함할 수 있습니다 Select .When you group data in the query, you can include aggregate methods in the Select property. 다음과 같은 집계 메서드를 사용할 수 있습니다.You can use the following aggregate methods:

  • Count()

  • Average()Average( column )

  • Sum()Sum( column )

  • Max()Max( column )

  • Min()Min( column )

  • Where(조건)Where( condition )

  • Any()

  • All(조건)All( condition )

자세한 내용은 Linqdatasource 웹 서버 컨트롤 개요방법: Linqdatasource 컨트롤을 사용 하 여 데이터 그룹화 및 집계를 참조 하세요.For more information, see LinqDataSource Web Server Control Overview and How to: Group and Aggregate Data Using the LinqDataSource Control.

데이터를 그룹화 할 때 Key It 동적으로 생성 된 속성을 속성에 포함할 수 있습니다 Select .When you group data, you can include Key and It, which are dynamically created properties, in the Select property. Key속성은 데이터를 그룹화 하는 데 사용 된 속성의 값을 참조 합니다.The Key property refers to the values in the property or properties that were used to group the data. 예를 들어 라는 속성을 기준으로 그룹화 하는 경우 속성 Category Key 에는 속성의 각 고유 값이 포함 됩니다 Category .For example, if you group by a property named Category, the Key property will contain each unique value in the Category property. It속성은 데이터 그룹에 있는 개별 레코드의 컬렉션을 참조 합니다.The It property refers to a collection of individual records in a grouping of data. 속성을 반복 하 여 It 그룹화 작업에서 통합 된 개별 레코드를 검색할 수 있습니다.You can iterate over the It property to retrieve the individual records that have been consolidated in the grouping operation. 예를 들어 라는 속성을 기준으로 그룹화 하는 경우 속성 CategoryIt 속성의 공통 값을 공유 하는 모든 개별 레코드를 포함 합니다 Category .For example, if you group by a property named Category, the It property contains all the individual records that share a common value in the Category property.

It데이터를 그룹화 할 때 속성에 키워드를 포함 하는 경우 Select 키워드에 별칭을 할당 해야 합니다 It .If you include the It keyword in the Select property when you group data, you must assign an alias to the It keyword. LinqDataSource에 별칭이 없으면 컨트롤은 예외를 throw 합니다 It .The LinqDataSource control will throw an exception if It does not have an alias. 키워드에 별칭을 할당할 수 Key 있지만 반드시 이렇게 해야 하는 것은 아닙니다.You can assign an alias to the Key keyword, but this is not required.

적용 대상