DataLoadOptions Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Lehetővé teszi a kapcsolódó adatok azonnali betöltését és szűrését.
public ref class DataLoadOptions sealed
public sealed class DataLoadOptions
type DataLoadOptions = class
Public NotInheritable Class DataLoadOptions
- Öröklődés
-
DataLoadOptions
Példák
A Northwind mintaadatbázisból való lekéréskor Customers megadhatja DataLoadOptions , hogy az Orders is lekérhető legyen. Azt is megadhatja, hogy melyik részhalmazt Orders szeretné lekérni.
Megjegyzések
Az DataLoadOptions osztály biztosítja a kapcsolódó adatok azonnali betöltését és szűrését.
Amikor lekérdez egy objektumot, valójában csak a kért objektumot kéri le. A kapcsolódó objektumok nem lesznek automatikusan beolvasva egyszerre. További információt a Kapcsolatok közötti lekérdezés című témakörben talál.
Az DataLoadOptions osztály két módszert biztosít a megadott kapcsolódó adatok azonnali betöltéséhez. A LoadWith módszer lehetővé teszi a fő célhoz kapcsolódó adatok azonnali betöltését. A AssociateWith metódus lehetővé teszi a kapcsolódó objektumok szűrését.
Rules
Vegye figyelembe a következő használati szabályokat DataLoadOptions :
- Kivételt eredményez, ha DataLoadOptions az első lekérdezés végrehajtása után rendel hozzá egy DataContext adott lekérdezést.
- Ha módosít egy DataLoadOptions olyan elemet, amely hozzá lett rendelve egy DataContext kivételhez, kivételt hoz létre.
Ciklusok kezelése
LoadWith és AssociateWith az irányelvek nem hozhatnak létre ciklusokat. Az alábbi példák az ilyen grafikonokra mutatnak be példákat:
1. példa: Önrekurzív
dlo.LoadWith<Employee>(e => e.Reports);
2. példa: Visszamutatók
dlo.LoadWith <Customer>(c => C.Orders);dlo.LoadWith <Order>(o => o.Customer);
3. példa: Hosszabb ciklusok
Bár ez nem történhet meg egy jól normalizált modellben, lehetséges.
dlo.LoadWith <A>(a => a.Bs);dlo.LoadWith <B>(b => b.Cs);dlo.LoadWith <C>(c => c.As);
4. példa: Önrekurzív subQueries
dlo.AssociateWith<A>(a=>a.As.Where(a=>a.Id=33));
5. példa: Hosszabb rekurzív subqueries
dlo.AssociateWith<A>(a=>a.Bs.Where(b=>b.Id==3));dlo.AssociateWith<B>(b=>b.As.Where(a=>a.Id==3));
Az alábbi általános szabályok segítenek megérteni, hogy mi történik ezekben a forgatókönyvekben:
LoadWith: Minden hívás ellenőrzi, hogy LoadWith a ciklusok bekerültek-e a gráfba. Ha az 1., a 2. és a 3. példában is vannak kivételek.
AssociateWith: Futásidőben a motor nem alkalmazza a meglévő SubQuery záradékokat a kifejezésen belüli kapcsolatra.
- A 4. példában a
Wherezáradék nem csak a SubQuery kifejezés által alszűrett összesre lesz végrehajtvaA(mert az rekurzív lenne). - Az 5. példában a rendszer az első
Wherezáradékot alkalmazza azBösszes s-ra, annak ellenére, hogy vannak al lekérdezések.BA másodikWherezáradék az összesAs-ra vonatkozik, annak ellenére, hogy vannak alqueries onA.
- A 4. példában a
Konstruktorok
| Name | Description |
|---|---|
| DataLoadOptions() |
Inicializálja a DataLoadOptions osztály új példányát. |
Metódusok
| Name | Description |
|---|---|
| AssociateWith(LambdaExpression) |
Szűri az adott kapcsolathoz beolvasott objektumokat. |
| AssociateWith<T>(Expression<Func<T,Object>>) |
Szűri az adott kapcsolathoz beolvasott objektumokat. |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| LoadWith(LambdaExpression) |
Lambda-kifejezéssel kéri le a fő célhoz kapcsolódó megadott adatokat. |
| LoadWith<T>(Expression<Func<T,Object>>) |
Meghatározza, hogy mely alobjektumokat kell lekérni, amikor egy lekérdezést egy T típusú objektumhoz küld. |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |