LinqDataSource.Select 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
검색된 데이터에 포함된 속성 및 계산 값을 가져오거나 설정합니다.
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
키워드에는 데이터 그룹화에 사용된 속성이 포함되어 있습니다. 이 예제에서 Key
ProductCategory
속성의 공유 값을 포함합니다.
<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
메서드를 사용하여 쿼리에서 새 클래스가 반환됨을 나타내야 합니다. 예를 들어 이러한 속성을 초과하는 개체에서 FirstName
및 LastName
속성만 반환하려면 Select 속성을 new(FirstName, LastName)
설정합니다.
LinqDataSource 컨트롤은 new
메서드에 지정한 새 클래스를 동적으로 만듭니다.
As
키워드를 사용하여 선택한 값에 별칭을 할당할 수 있습니다. 별칭을 할당하는 경우 new
메서드에 별칭이 지정된 속성을 포함해야 합니다.
LinqDataSource 컨트롤의 결과에 바인딩되는 데이터 바인딩된 컨트롤은 별칭으로 속성을 참조해야 합니다. 예를 들어 Select 속성을 new(Region As SalesRegion, Revenue / 1000 As RevenueThousands)
설정하면 데이터 바인딩된 컨트롤이 SalesRegion
및 RevenueThousands
두 속성에 액세스할 수 있습니다.
다음 표에 나열된 조건에 따라 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 컨트롤사용하여 데이터 그룹화 및 집계를 참조하세요.
데이터를 그룹화할 때 동적으로 만들어진 속성인 Key
및 It
Select 속성에 포함할 수 있습니다.
Key
속성은 데이터를 그룹화하는 데 사용된 속성 또는 속성의 값을 나타냅니다. 예를 들어 Category
속성으로 그룹화하면 Key
속성에 Category
속성의 각 고유 값이 포함됩니다.
It
속성은 데이터 그룹의 개별 레코드 컬렉션을 참조합니다.
It
속성을 반복하여 그룹화 작업에서 통합된 개별 레코드를 검색할 수 있습니다. 예를 들어 Category
속성으로 그룹화하면 It
속성에는 Category
속성의 공통 값을 공유하는 모든 개별 레코드가 포함됩니다.
데이터를 그룹화할 때 Select 속성에 It
키워드를 포함하는 경우 It
키워드에 별칭을 할당해야 합니다.
It
별칭이 없으면 LinqDataSource 컨트롤에서 예외가 throw됩니다.
Key
키워드에 별칭을 할당할 수 있지만 필수는 아닙니다.
적용 대상
.NET