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

  • curioustravelers

    curioustrave

    12 AĞUSTOS 2006
  • Fraser Raft

    Fraser Raft

    9 Mart 2010
  • Shon Gonzales

    Shon Gonzale

    5 EKİM 2014