C # ASP.NET MVC: как получить список элементов по столбцу id, возвращенному из списка в Entity Framework - PullRequest
0 голосов
/ 02 июля 2019

Мне нужно создать 2 списка, и я ищу лучшую практику и, в конце концов, синтаксис oneline!

Я использую Entity Framework и у меня есть 3 таблицы:

public class Position 
{
    public int ID { get; set; }
    public string Name { get; set; }
}

public class Training 
{
    public int Id { get; set; }
    public string Name { get; set; }
}

public class Association 
{
    public int Id { get; set; }
    public Impact Impact { get; set; }

    public int TrainingId { get; set; }
    public virtual Training Training { get; set; }
    public int PositionId { get; set; }
    public virtual Position Position { get; set; }
}

public enum Impact 
{
    Optional,
    Mandatory
}

Я должен выбрать все тренировки, которые упомянуты в таблице Association, как обязательные или необязательные (я имею в виду, что столбец Impact должен быть заполнен Impact.Optional), а PositionId - это то, что я даю. это через параметр или что-то!

Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 02 июля 2019

Попробуйте это

public List<Training> GetOptionalTrainings(int positionId)
{
  _context.Associations
    .Where(a => a.Impact == Impact.Optional && a.PositionId == positionId)
    .Select(a => a.Training)
    .ToList();
}
0 голосов
/ 02 июля 2019

enter image description here

обратите внимание, что ваши отношения 1-1, Ассоциация всегда будет проходить тренинг, если вы хотите, чтобы отношения 0 или 1, вы можете изменить public int TrainingId на public int? TrainingId

обновлено

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