Многократный запрос на выбор в linq c # - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть следующие классы.

public class Candidate
{
    public long Id { get; set; )
    public List<JobAssigned> JobAssigned { get; set; }       
}

public class JobAssigned
{
    public long Id { get; set; }     
    public List<StageScore> StageScore { get; set; }
    public List<CriteriaScore> CriteriaScore { get; set; }
    public List<StageComment> StageComment { get; set; }       
}

public class StageComment
{
    public long Id { get; set; }
    public JobAssigned  JobAssigned { get; set; }
    public long JobAssignedId { get; set; }
    public long PipelineStageId { get; set; }
    public long CandidateId { get; set; }
    public long JobId { get; set; }
    public string Comment { get; set; }
}

public class StageScore
{
    public long Id { get; set; }
    public JobAssigned JobAssigned { get; set; }
    public long JobAssignedId { get; set; }
    public long Rating { get; set; }
    public long PipelineStageId { get; set; }
    public long CandidateId { get; set; }
    public long JobId { get; set; }
}

public class CriteriaScore
{
    public long Id { get; set; }
    public JobAssigned JobAssigned { get; set; }
    public long JobAssignedId { get; set; }
    public long Rating { get; set; }
    public long PipelineStageCriteriaId { get; set; }
    public long CandidateId { get; set; }
    public long JobId { get; set; }
}

Я хочу быстро загрузить все связанные таблицы одновременно.Я пытался сделать следующее:

List<Candidate> candidate = _context.Candidates.                
          Include(f => f.JobAssigned.Select(g => g.StageScore))
          .OrderBy(x => x.Id).ToList();

Когда я сделал .Select().Select(), это выдало ошибку.Как получить все коллекции в одном запросе?

1 Ответ

0 голосов
/ 08 февраля 2019

Посмотрите на эту статью Я написал, она загружает все объекты динамически.

А вот как вы могли бы включить все объекты.

Я надеюсь, что ссылок на круги не будет.

Плагин, который я написал в приведенном выше URL-адресе, может обрабатывать ссылки на окружности

List<Candidate> candidate = _context.Candidates.                
    Include(f => f.JobAssigned.Select(g => g.StageScore.Select(a=> a.JobAssigned))).
    Include(f => f.JobAssigned.Select(g => g.CriteriaScore.Select(a=> a.JobAssigned))).
    Include(f => f.JobAssigned.Select(g => g.StageComment.Select(a=> a.JobAssigned))).
    OrderBy(x => x.Id).ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...