Video: Henrik Jönsson "Nödvändiga konflikter" 2024
En del av LINQ For Dummies Cheat Sheet
Språkinställd sökning (LINQ) använder ett fantastiskt utbud av operatörer. En operatör är ett speciellt ord som berättar LINQ vilken typ av fråga som ska utföras, till exempel om två värden är lika. Operatörer kan gå in i hundratals, men i de flesta fall utför du de flesta uppgifterna med bara några standardoperatörer. Nedan följer en lista över viktiga LINQ-operatörer.
Operatör | Beskrivning |
---|---|
från | Definierar det temporära objektet som används för att utföra en fråga. Tänk på
den här operatören som definierar det enskilda elementobjektet från vilket du erhåller all annan data för frågan. Till exempel väljer du vilka data som ska visas i utmatningen och hur dessa data beställs baserat på den temporära variabeln. Operatören från är den enda som måste visas i varje fråga du skapar. |
i | Definierar datakällan som används för att hämta data. En datakälla
kan vara något objekt som stöds av en dataleverantör. Leverantören skapar en koppling mellan datakällan och LINQ-frågan. Till exempel kan en datakälla innehålla ett objekt som en lista , en XML-fil, ett SQL Server-bord, Active Directory, en webb -service eller nästan allt annat du vill använda att samla information. Det är även möjligt att arbeta direkt med filer på din hårddisk med hjälp av en LINQ-fråga. En fråga kan innehålla så många matchande par från och i operatörer som behövs för att fullständigt beskriva de datakällor som används i frågan. |
välj | Väljer utdatainformation för frågan. Den enklaste
-utgången är det samma objektet du definierar med hjälp av operatören från. En valda operatör kan emellertid innehålla beräknade värden, dataregister eller enskilda objektegenskaper. Den begränsande -faktorn är i de flesta fall den funktionalitet som erbjuds av LINQ -leverantören. Alla fyra standardleverantörerna innehåller det fullständiga -intervallet av operatörsbeteenden. En -fråga innehåller bara en valda operatör och den här operatören måste visas som den sista operatören i sökfrågan . |
där | Beskriver villkoren för att ett element visas som del
av utgången. Den där operatören alltid kräver ett booleskt argument för att definiera utgångsförhållandena. Du kan inkludera så många där operatörer som behövde fullständigt beskriva utmatningskriterierna. LINQ tolkar där operatörer i den ordning där de visas i frågan, så order är viktig. När en fråga inte fungerar som förväntat, försök ändra ordningen för var operatörerna bättre beskriver de krav som krävs för utmatningen .Använd debuggern för att lokalisera fel i det logiska flödet av var operatörer. |
orderby | Definierar den ordning i vilken utgångselementen visas. Den enklaste orderbyoperatören
är beroende av det -objekt du definierar med användaren från . En orderby-operatör kan emellertid acceptera alla uttalanden som definierar ett logiskt ordningsargument som input - normalt numeriskt, alfabetiskt, symboliskt eller binärt. Du kan använda så många orderby operatörer som som behövs för att fullständigt beskriva utdataordningen för data. Liksom hos operatören tolkar LINQ orderby-operatören i den ordning som den visas i frågan. Följaktligen är ordern hos orderby-operatörerna viktiga. |
gå med och på | Kombinerar två eller flera datakällor för att skapa en kompositvy av
data. Datakällorna behöver inte förlita sig på samma leverantörer. Du kan använda så många medverkande operatörer som som krävs för att fullständigt beskriva alla datakällor som används för en fråga. Operatören definierar kriteriet som används för att kombinera två datakällor. Koppla ihop och på operatörer för att skapa en komplett datakälla. |
låt | Skapar ett beräknat värde för användning inom frågan. Beräknade
-värden gör det lättare att formulera komplexa frågor. Dessutom kan du överföra ett beräknat värde till uppringaren för att ge ytterligare utgångsinformation. I många fall ger letoperatören medlen för att skicka data som LINQ inte normalt kommer att passera på grund av en namngivningskonflikt. Du kan använda så många operatörer som krävs för att tillhandahålla fullständig sökfunktionalitet, men du bör begränsa användningen till situationer där ett beräknat -värde ökar sökhastigheten. |