Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Egy vagy több tartományváltozót és egy lekérdezésre szolgáló gyűjteményt határoz meg.
Szemantika
From element [ As type ] In collection [ _ ]
[, element2 [ As type2 ] In collection2 [, ... ] ]
Részek
| Időszak | Definíció |
|---|---|
element |
Szükséges. A gyűjtemény elemein keresztüli iteráláshoz használt tartományváltozó . A tartományváltozó a lekérdezés minden tagjára collection hivatkozik, mivel a lekérdezés a collection. Számba vehető típusnak kell lennie. |
type |
Opcionális. A típus element. Ha nincs type megadva, a függvény a következőből elementcollectionkövetkeztet: . |
collection |
Szükséges. A lekérdezendő gyűjteményre hivatkozik. Számba vehető típusnak kell lennie. |
Megjegyzések
A From záradék a lekérdezés forrásadatainak és a forrásgyűjtemény egy elemére való hivatkozáshoz használt változók azonosítására szolgál. Ezeket a változókat tartományváltozóknak nevezzük. A From záradék egy lekérdezéshez szükséges, kivéve, ha a Aggregate záradék egy olyan lekérdezés azonosítására szolgál, amely csak összesített eredményeket ad vissza. További információ: Összesítési záradék.
Egy lekérdezésben több From záradékot is megadhat, így több összekapcsolandó gyűjteményt is azonosíthat. Ha több gyűjtemény van megadva, azok egymástól függetlenül lesznek iterálva, vagy összekapcsolhatja őket, ha kapcsolódnak hozzájuk. A gyűjteményeket implicit módon is összekapcsolhatja a Select záradék használatával, vagy explicit módon a Join záradékok vagy Group Join záradékok használatával. Alternatív megoldásként több tartományváltozót és gyűjteményt is megadhat egyetlen From záradékban, az egyes kapcsolódó tartományváltozók és gyűjtemények vesszővel elválasztva a többitől. Az alábbi példakód a záradék mindkét szintaxisbeállítását From mutatja be.
' Multiple From clauses in a query.
Dim result = From var1 In collection1, var2 In collection2
' Equivalent syntax with a single From clause.
Dim result2 = From var1 In collection1
From var2 In collection2
A From záradék egy lekérdezés hatókörét határozza meg, amely hasonló a ciklus hatóköréhez For . Ezért a lekérdezés hatókörének minden element tartományváltozójának egyedi névvel kell rendelkeznie. Mivel egy lekérdezéshez több From záradékot is megadhat, a későbbi From záradékok hivatkozhatnak a From záradék tartományváltozóira, vagy hivatkozhatnak az előző From záradék tartományváltozóira. Az alábbi példa például egy beágyazott From záradékot mutat be, amelyben a második záradékban lévő gyűjtemény az első záradék tartományváltozójának tulajdonságán alapul.
Dim allOrders = From cust In GetCustomerList()
From ord In cust.Orders
Select ord
Minden From záradékot a lekérdezés finomításához további lekérdezési záradékok bármilyen kombinációja követhet. A lekérdezést a következő módokon pontosíthatja:
Több gyűjteményt implicit módon kombinálhat a záradékok és
SelectaFromzáradékok használatával, vagy explicit módon a vagyGroup JoinzáradékokJoinhasználatával.WhereA záradék használatával szűrheti a lekérdezés eredményét.Rendezze az eredményt a
Order Byzáradék használatával.Csoportosítsa a hasonló eredményeket a
Group Byzáradék használatával.A záradék segítségével azonosíthatja az
Aggregateösszesítő függvényeket a teljes lekérdezés eredményének kiértékeléséhez.LetA záradék használatával olyan iterációs változót vezet be, amelynek értékét gyűjtemény helyett kifejezés határozza meg.DistinctA záradék használatával figyelmen kívül hagyhatja az ismétlődő lekérdezési eredményeket.Azonosítsa az eredmény azon részeit, amelyeket vissza szeretne adni a
Skip,Take,Skip WhileésTake Whilezáradékok használatával.
példa
Az alábbi lekérdezési kifejezés egy záradékkal From deklarál egy tartományváltozót cust a customers gyűjtemény minden Customer objektumához. A Where záradék a tartományváltozó használatával korlátozza a kimenetet a megadott régióból származó ügyfelek számára. A For Each hurok megjeleníti az egyes ügyfelek cégnevét a lekérdezés eredményében.
Sub DisplayCustomersForRegion(ByVal customers As List(Of Customer),
ByVal region As String)
Dim customersForRegion = From cust In customers
Where cust.Region = region
For Each cust In customersForRegion
Console.WriteLine(cust.CompanyName)
Next
End Sub
Lásd még
- Lekérdezések
- LINQ bemutató a Visual Basic-ben
- Mindegyikhez... Következő utasítás
- Részére... Következő utasítás
- Kijelölési záradék
- Hol található záradék
- összesítő záradék
- Eltérő záradék
- Csatlakozási záradék
- Csoportösszekapcsolási záradék
- Rendelés záradék szerint
- Let Záradék
- Kihagyható záradék
- Záradék átvétele
- Kihagyás záradék közben
- Take While Clause