Inhoudsopgave:
- Microsoft Developer Network
- Microsoft-blogs
- Als u niet denkt dat u genoeg interactie met Microsoft krijgt via een blog, bezoeken Microsoft-medewerkers vaak ook de Microsoft-forums. Het uploaden van een bericht naar het juiste forum kan u professionele hulp bieden of op zijn minst enige deskundige hulp van een ander forumlid. De meeste ontwikkelaars vertrouwen op het MSDN-forum voor standaardvragen over LINQ. U kunt een algemene lijst van forums bekijken in de Microsoft Community. Vergeet niet om het taalspecifieke forum voor Visual Basic te proberen. NETTO.
Video: Save image to database using asp net 2024
Door John Paul Mueller
Taal Geïntegreerde query (LINQ) is een functie van. NET Framework dat uw greep verder uitbreidt dan alleen Microsoft. U kunt LINQ gebruiken om vrijwel alles op te vragen door essentiële operators te kennen, samen met enkele extra queryoperators. Als u onderweg een beetje verdwaalt, biedt Microsoft een schat aan bronnen via zijn netwerk, blogs en forums.
Essentiële LINQ-operators
Taal Geïntegreerde query (LINQ) maakt gebruik van een verbazingwekkende reeks operatoren. Een -gebruiker is een speciaal woord dat LINQ vertelt wat voor soort zoekopdracht moet worden uitgevoerd, zoals controleren of twee waarden gelijk zijn. Operators kunnen honderden tegenkomen, maar in de meeste gevallen voert u de meeste taken uit met slechts enkele standaardoperators. Hieronder staat een lijst met essentiële LINQ-operators.
Operator | Beschrijving |
---|---|
van | Definieert het tijdelijke object dat wordt gebruikt om een query uit te voeren. Beschouw
deze operator als het definiëren van het individuele elementobject waarvan u alle andere gegevens voor de query afleidt. U kiest bijvoorbeeld welke gegevens in de uitvoer verschijnen en hoe die gegevens worden gerangschikt op basis van de tijdelijke variabele. De operator van is de enige die moet worden weergegeven in elke query die u maakt. |
in | Definieert de gegevensbron die wordt gebruikt om de gegevens te verkrijgen. Een gegevensbron
kan elk object zijn dat wordt ondersteund door een gegevensprovider. De provider maakt een verbinding tussen de gegevensbron en de LINQ-query. Een gegevensbron kan bijvoorbeeld een object bevatten zoals een lijst , een XML-bestand, een SQL Server-tabel, Active Directory, een web -service of zo ongeveer alles wat u wilt gebruiken om informatie te verzamelen. Het is zelfs mogelijk om direct met bestanden op uw harde schijf te werken met behulp van een LINQ-query. Een query kan zoveel overeenkomende -paren van en in operators bevatten als nodig is om de gegevensbronnen die in de query worden gebruikt volledig te beschrijven. |
selecteer | Kiest de uitvoerinformatie voor de query. De eenvoudigste
-uitvoer is hetzelfde object dat u definieert met de operator van. Een select-operator kan echter berekende waarden, matrices met gegevens of afzonderlijke objecteigenschappen bevatten. De beperkende -factor is in de meeste gevallen de functionaliteit die wordt aangeboden door de LINQ -provider. Alle vier de standaardproviders bevatten het volledige -bereik met select gedrag van de operator. Een -query bevat slechts één select-operator en deze operator moet worden weergegeven als de laatste operator in de -query. |
waarbij | de voorwaarden beschrijft waaronder een element wordt weergegeven als onderdeel
van de uitvoer.De operator where altijd vereist een Boolean-argument om de uitvoervoorwaarden te definiëren. U kunt zoveel operators gebruiken als nodig hebben om de uitvoercriteria volledig te beschrijven. LINQ interpreteert de voor operators in de volgorde waarin ze in de query voorkomen, dus volgorde is belangrijk. Wanneer een zoekopdracht niet werkt zoals verwacht, probeer dan de volgorde van de operatoren te wijzigen om de vereisten voor de uitvoer beter te beschrijven. Gebruik de foutopsporingsfunctie om fouten in de logische stroom van operators te lokaliseren. |
orderby | Bepaalt de volgorde waarin de uitvoerelementen verschijnen. De
eenvoudigste orderby-operator is afhankelijk van het -object dat u definieert met de operator from . Een order van operator kan echter elke instructie accepteren die een logisch ordeningsargument definieert als invoer - normaal numeriek, alfabetisch, symbool of binair. U kunt zo veel orderby-operators gebruiken als die nodig zijn om de uitvoervolgorde van de gegevens volledig te beschrijven. Net als bij de operator waar operator LINQ de orderby-operator interpreteert in de volgorde waarin deze in de query wordt weergegeven. Bijgevolg is de volgorde van de orderby-operators belangrijk. |
join en on | Combineert twee of meer gegevensbronnen om een samengestelde weergave van
de gegevens te maken. De gegevensbronnen hoeven niet op dezelfde providers te vertrouwen. U kunt zo veel join-operators gebruiken als die nodig zijn om alle gegevensbronnen te beschrijven die worden gebruikt voor een -query. De on-operator definieert het -criterium dat wordt gebruikt om twee gegevensbronnen te combineren. Koppel de join- en on-operators om een volledige gegevensbron te maken. |
laat | maakt een berekende waarde voor gebruik binnen de query. Berekende
-waarden maken complexe query's eenvoudiger te formuleren. Bovendien kunt u een berekende waarde doorgeven aan de beller voor extra uitvoerinformatie. In veel gevallen biedt de exploitant de mogelijkheid om gegevens door te geven die LINQ gewoonlijk niet zal passeren vanwege een naamgevingsconflict. U kunt zo veel exploitanten gebruiken als vereist om volledige queryfunctionaliteit te bieden, maar u moet het gebruik van van let beperken tot situaties waarin een berekende -waarde de query-snelheid verbetert. |
LINQ-standaardqueryoperatorengroepen verkennen
Met behulp van standaardqueryoperators wordt het werken met Language INtegrated Query (LINQ) aanzienlijk eenvoudiger. In veel opzichten hebt u waarschijnlijk al met eenvoudige queryoperators gewerkt. Wanneer u bijvoorbeeld het sleutelwoord per bestelling gebruikt, gebruikt u een queryoperator in de sorteringsgroep van standaard queryoperators. Wanneer u het sleutelwoord where gebruikt, gebruikt u een andere queryoperator, maar deze keer bevindt deze zich in de filtergroep.
Hier is een lijst met standaardqueryoperatorgroepen en waar u aanvullende informatie kunt vinden.
Groep | Groepsomschrijving | Opgenomen operators | Aanvullende informatie |
---|---|---|---|
Aggregatiebewerkingen | De aggregatieoperatoren helpen u allemaal bij het uitvoeren van wiskundige
taken met een gegevensbron. |
Aggregate, Average, Count, LongCount, Max, Min en Sum | Microsoft
Developer Network: Aggregation Operations |
Concatenation-bewerkingen | Met de enige concatenation-operator kunt u twee
-reeksen combineren. |
Concat | Microsoft
Ontwikkelaarsnetwerk: aaneenschakelingsbewerkingen |
Datatypes converteren | Het converteren van gegevenstypen bestaat in twee vormen: uitgesteld en
niet-ontvangen. De uitgestelde conversieoperatoren converteren de resultaten van een query naar een bepaald type, omdat de code de set resultaten interpreteert. De niet-afgeleide conversieoperators veranderen de uitvoer van een -vraag naar een bepaald type. |
AsEnumerable, AsQueryable, Cast,
OfType, ToArray, ToDictionary, ToList, en ToLookup |
Microsoft
Ontwikkelaarsnetwerk: Datatypen converteren |
Elementbewerkingen | De elementoperators helpen u selecteert een bepaald element in een
-reeks, zelfs wanneer u geen identificatie-informatie over dat element kent, zoals de naam. |
ElementAt, ElementAtOrDefault, First, FirstOrDefault, Last,
LastOrDefault, Single en SingleOrDefault |
Microsoft
Developer Network: Element Operations |
Equality-bewerkingen | De operator voor gelijkheid helpt u bepalen of twee
reeksen zijn gelijk (het aantal elementen en de inhoud van elk -element zijn gelijk). |
SequenceEqual | Microsoft
Ontwikkelaarsnetwerk: gelijkheidsbewerkingen |
Gegevens filteren | Met de filteroperators kunt u elementen in
uitsluiten of opnemen op basis van specifieke criteria. |
OfType en Where | Microsoft
Ontwikkelaarsnetwerk: gegevens filteren |
Generatiebewerkingen | De productie-operators maken een nieuwe reeks op basis van de
-criteria die u opgeeft. |
DefaultIfEmpty, Empty, Range en
Repeat |
Microsoft
Developer Network: Generation Operations |
Grouping data | Met de groepeeroperators kunt u gegevens sorteren op een bepaalde
-karakteristiek, zoals als de eerste letter in een groep van tekenreeksen. |
GroupBy en ToLookup | Microsoft
Developer Network: Grouping Data |
Join-bewerkingen | De join-operators accepteren twee of meer sequenties als invoer en
maken één uitvoerreeks op basis van een specifieke join type en de join-criteria. |
Join en GroupJoin | Microsoft
Developer Network: Join Operations |
Partitioning-gegevens | De partitioneringsoperators helpen u bij het segmenteren van een reeks
specifieke informatie zoeken. |
Overslaan, Skipswhile, Take en
TakeWhile |
Microsoft
Ontwikkelaarsnetwerk: partitioneringsgegevens |
Projectieactiviteiten | De projectieoperatoren maken een nieuw type op basis van de query
die u maakt. |
Selecteren en selecterenVeel | Microsoft
Developer Network: Projection Operations |
Quantifier-bewerkingen | De kwantifieroperators helpen u bij het selecteren van elementen op basis van
specifieke criteria. U gebruikt deze operators om te bepalen of geen, één of meer elementen voldoen aan de geselecteerde -criteria. |
Alle, Any,
en bevat |
Microsoft
Developer Network: Quantifier Operations |
Bewerkingen instellen | De setoperators maken sets. Denk aan de set rekenkunde die u
op school hebt uitgevoerd. |
Anders, exclusief, intersect,
en Unie |
Microsoft
Ontwikkelaarsnetwerk: bewerkingen instellen |
Gegevens sorteren | Met de sorteerbewerkingen kunt u een reeks in een bepaalde
volgorde plaatsen. |
OrderBy, OrderByDescending, ThenBy, ThenByDescending en Reverse | Microsoft
Developer Network: Sorting Data |
Microsoft LINQ Resources
Het is altijd handig om te weten waar u terecht kunt voor extra informatie en hulpmiddelen en verbeteringen bij het maken van uw Language INtegrated Query (LINQ) -toepassingen. Hier is een lijst met nuttige Microsoft-bronnen voor LINQ.
Microsoft Developer Network
Het Microsoft Developer Network (MSDN) heeft altijd het basismateriaal geleverd voor alle Microsoft-ontwikkelingsproducten. Je zult daar een heel pakhuis met informatie vinden - meer dan een mens ooit in zijn leven kan lezen. Daarom moet je de informatie zorgvuldig zeven of je zult snel verdwalen in het MSDN-labyrint. De belangrijkste MSDN-site voor het werken met LINQ biedt u nieuws, bronnen en toegang tot andere informatie, zoals voorbeelden.
Microsoft-blogs
Microsoft wil dat u weet hoe u met LINQ kunt werken. In het verleden vond je veel informatie die je nodig hebt op MSDN. De MSDN-website is nog steeds een goede plek om naartoe te gaan, maar veel Microsoft-ontwikkelaars klaagden dat het een beetje te formeel was (de artikelen zijn in sommige gevallen vrij moeilijk te begrijpen) en er was geen enkele mogelijkheid om met de auteurs te communiceren. De Microsoft-blogs bieden een vriendelijker omgeving voor het verkrijgen van informatie waar u daadwerkelijk met de auteur kunt corresponderen. Hier zijn een paar blogs die je wilt bezoeken wanneer je met LINQ werkt:
-
Beth Massi: Visual Basic (VB) delen> Het community blog van Charlie Calvert
-
BLOG van Wriju:. NET en alles
-
De meeste van deze blogs zijn generiek - ze bespreken allemaal een of andere programmeerkwestie. Daarom vindt u een mix van onderwerpen in elk blog. De auteur kan het bestandssysteem in één post bespreken en LINQ op een andere. Elk heeft LINQ-specifieke items die u kunt zoeken met behulp van de zoekfuncties op de blog. Hoewel Charlie Calvert Microsoft heeft verlaten, bevat zijn blog een schat aan algemene LINQ-informatie.
Microsoft-forums