Výpis seznamu osob
Následující metoda vypíše na konzoli setříděný seznam osob.
Příklad demonstruje:
- třída „ProxyList“ reprezentuje seznam objektů „Proxy“
- instance třídy „Rivet“ (je to singleton) nabízí metodu „Query“, vybavenou vnitřním jednorázovým připojením k databázi. (Pokud bychom chtěli volat metodu „Query“ vícekrát po sobě pod stejným připojením, lze použít konstrukci typu:
using (Context ctx = Rivet.Instance.GetContext())
{
ProxyList muzi = ctx.GetProxyList().Query("select OID from Muz");
ProxyList zeny = ctx.GetProxyList().Query("select OID from Zena");
...
}
- metoda „Query“ používá klasický (a mocný) SQL SELECT, přičemž vrácené objekty jsou plně identifikovány hodnotou primárního klíče „OID“. Lze používat libovolné platné konstrukce dotazu, které vrátí kolekci hodnot OID (výhoda - příkazy lze snadno ladit např. v Management studiu).
- generická metoda „Sort“ provádí setřídění seznamu na úrovni SQL dotazu. Parametrem je lambda výraz, určující, podle kterého pole (sloupce) se bude třídit.
- seznamy v sobě nesou pouze hodnoty OID – generickou metodou „Cast“ lze seznam převést na příslušnou generickou kolekci (zde List
). - příklad demonstruje použití přetížené metody „ToString“ u persistentních objektů.
private static void Zobrazit()
{
ProxyList osoby = Rivet.Instance
.Query("select OID from Osoba")
.Sort
foreach (Osoba osoba in osoby.Cast
Console.WriteLine(osoba.ToString());
Console.ReadLine();
}