DataLoadOptions Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İlgili verilerin hemen yüklenmesini ve filtrelenmesi için sağlar.
public ref class DataLoadOptions sealed
public sealed class DataLoadOptions
type DataLoadOptions = class
Public NotInheritable Class DataLoadOptions
- Devralma
-
DataLoadOptions
Örnekler
Northwind örnek veritabanından aldığınızdaCustomers, bunun da alınacağını belirtmek Orders için kullanabilirsinizDataLoadOptions. Hangi alt kümesinin Orders alınacağını bile belirtebilirsiniz.
Açıklamalar
sınıfı, DataLoadOptions ilgili verilerin hemen yüklenmesini ve filtrelenmesi için sağlar.
Bir nesneyi sorguladığınızda, aslında yalnızca istediğiniz nesneyi alırsınız. İlgili nesneler aynı anda otomatik olarak getirilmiyor. Daha fazla bilgi için bkz. İlişkiler Arasında Sorgulama.
sınıfı, DataLoadOptions belirtilen ilgili verilerin hemen yüklenmesini sağlamak için iki yöntem sağlar. yöntemi, LoadWith ana hedefle ilgili verilerin hemen yüklenmesini sağlar. yöntemi, AssociateWith ilgili nesnelerin filtrelenmesine olanak tanır.
Kurallar
Kullanımla ilgili DataLoadOptions olarak aşağıdaki kuralları göz önünde bulundurun:
- DataLoadOptions İlk sorgu yürütüldükten sonra 'DataContexta atamak bir özel durum oluşturur.
- bir'e DataLoadOptionsDataContext atandıktan sonra değiştirdiğinizde bir özel durum oluşturulur.
Döngüleri işleme
LoadWith ve AssociateWith yönergeleri döngü oluşturmamalıdır. Aşağıdakiler bu tür grafiklerin örneklerini temsil eder:
Örnek 1: Özyinelemeli
dlo.LoadWith<Employee>(e => e.Reports);
Örnek 2: Arka işaretçiler
dlo.LoadWith <Customer>(c => C.Orders);dlo.LoadWith <Order>(o => o.Customer);
Örnek 3: Daha uzun döngüler
Bu, iyi normalleştirilmiş bir modelde oluşmamalıdır, ancak mümkündür.
dlo.LoadWith <A>(a => a.Bs);dlo.LoadWith <B>(b => b.Cs);dlo.LoadWith <C>(c => c.As);
Örnek 4: Özyinelemeli alt Sorgular
dlo.AssociateWith<A>(a=>a.As.Where(a=>a.Id=33));
Örnek 5: Daha uzun özyinelemeli alt sorgular
dlo.AssociateWith<A>(a=>a.Bs.Where(b=>b.Id==3));dlo.AssociateWith<B>(b=>b.As.Where(a=>a.Id==3));
Aşağıdaki genel kurallar, bu senaryolarda neler olduğunu anlamanıza yardımcı olur:
LoadWith: Döngülerin grafta tanıtılıp kullanılmadığını denetlemeye yönelik her çağrı LoadWith . Örnek 1, 2 ve 3'te olduğu gibi varsa bir özel durum oluşturulur.
AssociateWith: Çalışma zamanında altyapı, ifadenin içindeki ilişkiye mevcut SubQuery yan tümcelerini uygulamaz.
- Örnek 4'te yan tümcesi yalnızca
WhereSubQuery ifadesinin kendisi tarafından alt filtrelenenlere değil tümüneAkarşı yürütülür (özyinelemeli olacağından). - Örnek 5'te, ilk
Whereyan tümcesi üzerinde alt sorgular olsa bile tümBs'lereBuygulanır. İkinciWhereyan tümcesi, üzerindeAalt sorgular olsa bile tümAs'lere uygulanır.
- Örnek 4'te yan tümcesi yalnızca
Oluşturucular
| Name | Description |
|---|---|
| DataLoadOptions() |
DataLoadOptions sınıfının yeni bir örneğini başlatır. |
Yöntemler
| Name | Description |
|---|---|
| AssociateWith(LambdaExpression) |
Belirli bir ilişki için alınan nesneleri filtreler. |
| AssociateWith<T>(Expression<Func<T,Object>>) |
Belirli bir ilişki için alınan nesneleri filtreler. |
| Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
| GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| LoadWith(LambdaExpression) |
Bir lambda ifadesi kullanarak ana hedefle ilgili belirtilen verileri alır. |
| LoadWith<T>(Expression<Func<T,Object>>) |
T türündeki bir nesne için sorgu gönderildiğinde alınacak alt nesneleri belirtir. |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |