Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Belirtik yükleme
Bir gezinti özelliğini API aracılığıyla DbContext.Entry(...) açıkça yükleyebilirsiniz.
using (var context = new BloggingContext())
{
var blog = await context.Blogs
.SingleAsync(b => b.BlogId == 1);
await context.Entry(blog)
.Collection(b => b.Posts)
.LoadAsync();
await context.Entry(blog)
.Reference(b => b.Owner)
.LoadAsync();
}
Ayrıca, ilgili varlıkları döndüren ayrı bir sorgu yürüterek bir gezinti özelliğini açıkça yükleyebilirsiniz. Değişiklik izleme etkinleştirilirse, sorgu bir varlığı oluştururken EF Core yeni yüklenen varlığın gezinti özelliklerini otomatik olarak önceden yüklenmiş olan varlıklara başvurmak üzere ayarlar ve zaten yüklenmiş varlıkların gezinti özelliklerini yeni yüklenen varlığa başvurmak üzere ayarlar.
İlgili varlıkları sorgulama
Gezinti özelliğinin içeriğini temsil eden bir LINQ sorgusu da alabilirsiniz.
Bu, sorgu üzerinde diğer işleçleri uygulamanızı sağlar. Örneğin, bir toplama işlecini belleğe yüklemeden ilgili varlıklara uygulama.
using (var context = new BloggingContext())
{
var blog = await context.Blogs
.SingleAsync(b => b.BlogId == 1);
var postCount = await context.Entry(blog)
.Collection(b => b.Posts)
.Query()
.CountAsync();
}
Belleğe hangi ilgili varlıkların yüklendiğini de filtreleyebilirsiniz.
using (var context = new BloggingContext())
{
var blog = await context.Blogs
.SingleAsync(b => b.BlogId == 1);
var goodPosts = await context.Entry(blog)
.Collection(b => b.Posts)
.Query()
.Where(p => p.Rating > 3)
.ToListAsync();
}