2016-05-04 2 views
1

Wir verwenden zuerst EF-Code und haben ein Modell mit der folgenden Struktur. Es besteht die Anforderung, Gegenstände auf eine bestimmte Tiefe zu bringen. Wenn Sie beispielsweise alle Job-Typen auf eine Tiefe von 2 bringen, erhalten Sie alle JobTypes mit einem Null-Elternteil und ihren untergeordneten Elementen.Wie erreichen alle Kinder eine bestimmte Tiefe in der Eltern-Kind-Beziehung?

namespace My.Models 
{ 
    public class JobType 
    { 
     public long Id { get; set; } 

     [Required] 
     public string Text { get; set; } 

     public long? ParentJobTypeId { get; set; } 

     public virtual JobType ParentJobType { get; set; } 

     public virtual Collection<JobType> JobTypes { get; set; } 
    } 
} 
+0

verwenden Es gibt eine Bedarfspositionen zu einer bestimmten Tiefe zu erhalten. Tipp - sieh dir die Frage tite an – Burt

Antwort

1

Sie erzeugen können Zeichenfolge enthalten und Include

var query = ctx.JobType.Where(x => x.ParentJobTypeId == null); 

if (count > 0) 
{ 
    var include = string.Join(".", Enumerable.Range(1, count).Select(x => "JobTypes")); 
    query = query.Include(include); 
} 
Verwandte Themen