Я новичок в C# и Entity Framework Core. Я много искал для этого вопроса, но не нашел ответа. У меня есть следующие три моделей (я упростил ее):Entity Framework Core включает фильтр
public class Exercise
{
public int ExerciseId { get; set; }
[Required]
public string ExerciseName { get; set; }
public string Filename { get; set; }
public ICollection<ExerciseClinicalPicture> ExerciseClinicalPicture { get; set; }
}
public class ClinicalPicture
{
[Key]
public int ClinicalPictureId { get; set; }
[Required]
[Display(Name = "Krankheitsbild")]
public string ClinicalPictureName { get; set; }
public ICollection<ExerciseClinicalPicture> ExerciseClinicalPicture { get; set; }
}
public class ExerciseClinicalPicture
{
[Key]
public int ExerciseClinicalPictureId { get; set; }
public int ExerciseId { get; set; }
public Exercise Exercise { get; set; }
public int ClinicalPictureId { get; set; }
public ClinicalPicture ClinicalPicture { get; set; }
}
Теперь я хочу иметь запрос, где результат представляет собой набор всех упражнений, которые связаны с определенной клинической картиной и clinicalPicture
включены.
Что-то вроде этого:
int id = 1;
exercises = _context.Exercise.Where(e => e.ExerciseClinicalPicture.ClinicalPictureId == id)
.Include(m => m.ExerciseClinicalPicture)
.ThenInclude(m => m.ClinicalPicture);
Этот запрос выдает ошибку, потому что я не могу назвать ClinicalPictureId
на коллекции ExerciseClinicalPicture
.
Надеюсь, мой вопрос в порядке. Это первый раз, когда я задаю вопрос о Stackoverflow.
Большое спасибо за вашу помощь
Большое спасибо. Можете ли вы также рассказать мне запрос, когда я хочу отфильтровать имя в ClinicalPicture? –
_context.Exercise.Where (e => e.ExerciseClinicalPicture.Any (ec => ec.ClinicalPicture.ClinicalPictureName == "Name")) –
Большое спасибо за вашу помощь. –