Om du arbetar med många datakällor i Visual Studio -program måste du lära dig om fördelarna med språk - Integrated Query . LINQ infördes i Visual Studio 2008 för att ge programmerare ett nytt sätt att söka data från olika datakällor . LINQ erbjuder kraftfulla sökfrågor till C # och Visual Basic . LINQ ger en uppsättning funktioner som inte bara tillåter dig att söka från relationsdatabaser som SQL Server , men även från objekt i minnet eller filer . Historia
frågor är kända för programmerare som enkla strängar som definierats i datorprogram för att hämta data från olika datakällor . Ett problem med detta traditionella synsätt är att dessa strängar inte är av typen kontrolleras under kompileringen och du kan missa fel . En fördel med LINQ är att du kan fånga dessa fel under kompileringen utan att behöva vänta tills programmet körs . Dessutom , med LINQ du behöver inte lära sig olika frågespråk för varje datakälla .
Söka efter data
En stor fördel i LINQ är att en datakälla kan vara allt från en sträng , fil , databas , array eller andra datakällor . Den första delen av en LINQ fråga är datakällan . När du laddat in uppgifterna i en queryable variabel , så du kan använda LINQ för att fråga det . Den andra delen är den frågan som anger informationen som ska hämtas från datakällan . En annan fördel jämfört med den traditionella frågan tillvägagångssätt är frågan utförande av en LINQ fråga . Den fråga utförande används för att iterera över frågevariabel med en " foreach " uttalande i C # . Denna loop används för att hämta resultatet från frågan .
Query verksamhet
Query Verksamheten är mycket lättare att köra i LINQ över traditionella databasfrågor genom att kunna nå namn tabellfält lätt . Filtrering används för att filtrera data och är en av de vanligaste operationer som utförs i en LINQ fråga . Följande är ett exempel på en LINQ fråga med filtrering i C # :
var queryLondonCustomers = från cust i customerswhere cust.City == " London " select cust ,
datakällor
att kunna söka olika datakällor är en stor fördel i LINQ . LINQ till SQL används för att fråga relationsdatabaser dataobjekt . Följande är ett exempel på hur man fråga en databas med LINQ till SQL :
Northwnd db = new Northwnd ( @ " C : \\ northwnd.mdf " ) ; IQueryable custQuery = från Cust i db . Customerswhere cust.City == " London " select cust ,
Använd LINQ till XML om du behöver söka ett XML-objekt . Följande C # kod visar ett annat exempel på hur lätt det är att söka ett XML-dokument :
XDocument srcTree = ny XDocument ( ny XComment ( " Det här är en kommentar " ) , nya XElement ( " Root " , nya XElement ( " Child1 " , " data1 " ) , nya XElement ( " child2 " , " data2 " ) , nya XElement ( " Child3 " , " uppgifter3 " ) , nya XElement ( " child2 " , " uppgifter4 " ) , nya XElement ( " Info5 " , " info5 " ) , nya XElement ( " Info6 " , " info6 " ) , nya XElement ( " Info7 " , " info7 " ) , nya XElement ( " Info8 " , " info8 " ) ) ) ;
XDocument doc = new XDocument ( ny XComment ( " Det här är en kommentar " ) , nya XElement ( " Root " , från el i srcTree . Element ( " Root " ) element ( ) där ( ( string ) EL ) startsWith ( " uppgifter " ) select EL ) ) ,. . Console.WriteLine ( doc ) ;