SORU
30 Mayıs 2012, ÇARŞAMBA


Varlık Çerçevesi Özellikleri Birden çok Düzeyleri Vardır

İnclude() yöntemi çalışır oldukça iyi nesneleri Listeler. Ama eğer iki düzeyden daha derin gitmek istersem ne olur? Örneğin, aşağıdaki yöntemi dahil özellikleri burada gösterilen ApplicationServers dönecektir. Ancak, ApplicationsWithOverrideGroup diğer karmaşık nesneleri tutan başka bir konteyner. Ben bir ekleme() bu özellik de? Ya nasıl bu özelliği tam olarak yüklemek için alabilir miyim?

Şimdi durum böyleyken, bu yöntemi:

public IEnumerable<ApplicationServer> GetAll()
{
    return this.Database.ApplicationServers
        .Include(x => x.ApplicationsWithOverrideGroup)                
        .Include(x => x.ApplicationWithGroupToForceInstallList)
        .Include(x => x.CustomVariableGroups)                
        .ToList();
}

Sadece Etkin özelliği (aşağıda) dolduracaktır ve Uygulama veya CustomVariableGroup özellikleri (aşağıda). Bunu nasıl gerçekleştiririm?

public class ApplicationWithOverrideVariableGroup : EntityBase
{
    public bool Enabled { get; set; }
    public Application Application { get; set; }
    public CustomVariableGroup CustomVariableGroup { get; set; }
}

CEVAP
30 Mayıs 2012, ÇARŞAMBA


query.Include(x => x.Collection.Select(y => y.Property))

Daha fazla örnek için Remarks bkz.

public IEnumerable<ApplicationServer> GetAll()
{
    return this.Database.ApplicationServers
        .Include(x => x.ApplicationsWithOverrideGroup.Select(y => y.Application))
        .Include(x => x.ApplicationsWithOverrideGroup.Select(y => y.CustomVariableGroup))
        .Include(x => x.ApplicationWithGroupToForceInstallList)
        .Include(x => x.CustomVariableGroups)
        .ToList();
}

Include() uzantısı bir yöntem olduğundan, using System.Data.Entity; kullanarak tablolar içinde olduğundan emin olmak gerekir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Modus Recordings

    Modus Record

    26 Kasım 2008
  • soyacincautv

    soyacincautv

    14 NİSAN 2010
  • The Scary Snowman

    The Scary Sn

    1 ŞUBAT 2011