Давайте представим, что ниже приведена наша модель данных. Я хочу запросить Игрушки, но результаты возвращены таким образом, что я могу сделать следующий код psuedo.Запрос, что группы Родитель, затем Ребенок, когда выборка из IQueryable <GrandChild>
foreach (var parent in parents)
{
Console.WriteLine(parent.Name);
foreach (var child in parent.Children)
{
Console.WriteLine(child.Name);
foreach (var toy in child.Toys)
{
Console.WriteLine(toy.Name);
}
}
}
Модель данных:
public class Parent
{
public Guid ParentId { get; set; }
public String Name { get; set; }
public ICollection<Child> Children { get; set; }
}
public class Child
{
public Guid ChildId { get; set; }
public Guid ParentId { get; set; }
public Parent Parent { get; set; }
public String Name { get; set; }
public ICollection<Toy> Toys { get; set; }
}
public class Toy
{
public Guid ToyId { get; set; }
public Guid ChildId { get; set; }
public Child Child { get; set; }
public String Name { get; set; }
public bool IsCool { get; set; }
}
Я пытался сделать это с группировкой, но когда я пытаюсь итерацию группирование все, что я вижу, это ключ, который не имеет никаких свойств на нем так Я не могу получить имя родителя или имя Child.Name.
Заранее спасибо.
Спасибо, но это не совсем то, что я ищу, это то, что у меня есть сейчас, и я пытаюсь уйти. Пока я пишу Parent.Name в примере, мне действительно нужен родительский объект. В этом решении есть каждый элемент, имеющий родителя, который содержит много дублирующихся данных для переноса. Я пытаюсь иметь только одну запись каждого клиента. Я считаю, что мне нужно использовать GroupBy, что вы думаете? –
ОК, см. Мое редактирование. –
@HonorableChow Любая обратная связь? –