У меня есть заявление GetAll, которое захватывает каждого человека и заполняет коллекцию билетов, которая у него есть.Мои классы сокращены следующим образом:
public class Person
{
public int Id {get;set;}
public string Name {get;set;}
public ICollection<Ticket> Tickets {get;set;}
}
public class Ticket
{
public int Id {get;set;}
public int PersonId {get;set;}
public string MovieName {get;set;}
}
Я использую Entity Framework для генерации классов с помощью linq из dbcontext для заполнения запроса.
public async Task<List<Person>> GetPersonsAsync()
{
return await _context.Person.GroupJoin(_context.Ticket,
p => p.Id,
c => c.PersonId,
(per, tix) => PopulatePerson(per,tix) )
.ToListAsync();
}
private Person PopulatePerson(Person per, IEnumerable<Ticket> tix)
{
per.Tickets= tix.ToList();
return per;
}
Это работает, но у меня былосоздать отдельный частный метод PopulatePerson для достижения этой цели.Как я могу избежать создания частного метода и заполнить список заявок одним и тем же оператором GroupJoin?