LinqDataSource.Select Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee worden de eigenschappen en berekende waarden opgehaald of ingesteld die zijn opgenomen in de opgehaalde gegevens.
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
Waarde van eigenschap
Een tekenreeks die wordt gebruikt om de select-component te maken.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de Select eigenschap instelt op een subset van eigenschappen in het gegevensobject.
<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>
In het volgende voorbeeld ziet u hoe u waarden ophaalt in een eigenschap die is gebruikt om gegevens te groeperen en om het gemiddelde voor de gegroepeerde records op te halen. Het Key trefwoord bevat de eigenschap die is gebruikt voor het groeperen van gegevens. In dit voorbeeld Key bevatten de gedeelde waarden uit de ProductCategory eigenschap.
<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>
Opmerkingen
Als u de Select eigenschap niet instelt, haalt het LinqDataSource besturingselement alle eigenschappen (gegevenskolommen) op uit het gegevensobject. U gebruikt de Select eigenschap om een subset eigenschappen op te halen uit het object of om nieuwe waarden te berekenen wanneer de gegevens worden opgehaald.
U geeft op welke eigenschappen moeten worden opgehaald door de Select eigenschap in te stellen op de namen van de eigenschappen die u wilt opnemen in de geretourneerde gegevens.
Als u een subset met eigenschappen ophaalt uit het gegevensobject, maakt het LinqDataSource besturingselement dynamisch een klasse die alleen de eigenschappen bevat die u in de Select eigenschap opgeeft. Er wordt ook dynamisch een klasse gemaakt als u eigenschappen berekent die geen eigenschappen in het gegevensobject zijn. In deze gevallen is het object dat wordt geretourneerd uit de query geen exemplaar van de klasse die is opgegeven in de TableName eigenschap. In plaats daarvan moet u de new methode in de Select eigenschap gebruiken om aan te geven dat een nieuwe klasse wordt geretourneerd uit de query. Als u bijvoorbeeld alleen de FirstName en LastName eigenschappen wilt retourneren van een object dat meer dan deze eigenschappen bevat, stelt u de Select eigenschap in op new(FirstName, LastName). Het LinqDataSource besturingselement maakt dynamisch de nieuwe klasse die u in de new methode hebt opgegeven.
U kunt het As trefwoord gebruiken om een alias toe te wijzen aan een geselecteerde waarde. Als u een alias toewijst, moet u de aliaseigenschappen in de new methode opnemen. Elk gegevensgebonden besturingselement dat wordt gekoppeld aan de resultaten van het LinqDataSource besturingselement, moet verwijzen naar de eigenschap door de alias. Als u de Select eigenschap bijvoorbeeld instelt op, heeft het gegevensgebonden besturingselement toegang tot twee eigenschappen en new(Region As SalesRegion, Revenue / 1000 As RevenueThousands)SalesRegion .RevenueThousands
U gebruikt de new functie in de Select eigenschap volgens de voorwaarden in de volgende tabel.
| Selecteren | Gebruik van nieuwe | Voorbeeld |
|---|---|---|
| Eén eigenschap. |
new niet nodig. |
Select="Category" |
| Meerdere eigenschappen. |
new Nodig. |
Select="new(Category, Name)" |
| Eén of meerdere eigenschappen met een alias. |
new Nodig. |
Select="new(Category As CategoryGroup)" |
Als u automatische gegevenswijzigingen wilt inschakelen, maar u niet alle eigenschappen van het gegevensobject wilt weergeven, moet u de Select eigenschap niet instellen. In plaats daarvan beheert u de weergave via het gegevensgebonden besturingselement. Wanneer u het DetailsView besturingselement of het GridView besturingselement gebruikt, moet u ook de AutoGenerateRows eigenschap of eigenschap AutoGenerateColumns instellen op false. Alle waarden die niet worden weergegeven in het besturingselement voor gegevens worden opgeslagen in de weergavestatus. Ze worden ongewijzigd doorgegeven aan de gegevensbron wanneer de gegevensupdate wordt uitgevoerd.
Wanneer u gegevens in de query groeperen, kunt u statistische methoden opnemen in de Select eigenschap. U kunt de volgende statistische methoden gebruiken:
Count()Average(Kolom)Sum(Kolom)Max(Kolom)Min(Kolom)Where(conditie)Any()All(conditie)
Zie Overzicht van linqDataSource-webserverbeheer en procedures voor het groeperen en aggregeren van gegevens met behulp van het LinqDataSource-besturingselement voor meer informatie.
Wanneer u gegevens groeperen, kunt u deze opnemen Key en It, die dynamisch gemaakte eigenschappen zijn, opnemen in de Select eigenschap. De Key eigenschap verwijst naar de waarden in de eigenschap of eigenschappen die zijn gebruikt om de gegevens te groeperen. Als u bijvoorbeeld groepeert op een eigenschap met de naam Category, bevat de Key eigenschap elke unieke waarde in de Category eigenschap. De It eigenschap verwijst naar een verzameling afzonderlijke records in een groepering van gegevens. U kunt de It eigenschap herhalen om de afzonderlijke records op te halen die zijn samengevoegd in de groeperingsbewerking. Als u bijvoorbeeld groepeert op een eigenschap met de naam Category, bevat de It eigenschap alle afzonderlijke records die een gemeenschappelijke waarde in de Category eigenschap delen.
Als u het It trefwoord in de Select eigenschap opneemt wanneer u gegevens groeperen, moet u een alias toewijzen aan het It trefwoord. Het LinqDataSource besturingselement genereert een uitzondering als It er geen alias is. U kunt een alias toewijzen aan het Key trefwoord, maar dit is niet vereist.