LINQ внутри Select LINQ - будет ли у него проблема с производительностью? - PullRequest
0 голосов
/ 02 июля 2018

Я хочу запросить список людей из базы данных, и в таблице есть столбец, который также содержит список родственников, который является еще одной таблицей в базе данных. Эта строка кода решит проблему? Будет ли это вызывать проблемы с производительностью в будущем с тысячами данных?

См. Код ниже:

 public class Employee
 {
    public int Id { get; set; }   
    public string Name{ get; set; }
    public virtual List<Relatives> { get; set; }
 }

 public class Relatives
 {
    public int Id { get; set; }   
    public string Name{ get; set; }
    public int EmployeeId { get; set; }
    [ForeignKey("EmployeeId")]
    public virtual Employee Employee { get; set; }
 }

var list = GetDbSet<Employee>().Select(x => new
  {
  id = x.Id,
  name = x.Name,
  ListOfRelatives = string.Join(",", (x.Relatives.Where(y => y.EmployeeId == x.Id).Select(z => z.Name)))
  }.ToList();

Если это не лучшее решение, есть ли другой способ решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...