context.ReporLessons.Find (reportLesson.Id), получающий нулевые объекты, где существуют данные - PullRequest
0 голосов
/ 15 мая 2019

В настоящее время я работаю с EF Core, и у меня есть проблема с

context.ReportLessons.Find(reportLesson.Id);

, не позволяющая получить все объекты.

Это весь блок кода, с которым у меня возникла проблема

using (var context = GetDbContext())
{
    var model = reportLesson.Adapt<RepositoryReportLesson>();

    var original = context.ReportLessons.Find(reportLesson.Id);
    context.Entry(original).CurrentValues.SetValues(model);
    context.Entry(original).State = EntityState.Modified;

    await context.SaveChangesAsync();

    _logger.LogInformation($"->> Updated report lesson id: {id}");
    return context.Entry(model).Entity.Adapt<ReportLessonLogicModel>();
}

Когда я получаю Origianl, у меня есть три объекта списка, которые возвращают ноль.

Один объект списка, с которым мне нужно взаимодействовать, и имеет два других списка, один из которых мне нужно обновить, чтобы обновлялись таблицы, которые недоступны.

context.Entry(original).Collection(c => c.Competencies).Load();
context.Entry(original).Collection(c => c.FlightPhases).Load();
context.Entry(original).Collection(c => c.Objectives).Load();

они действительно загружают мои объекты списка, однако c.Competencies имеет два списка объектов, которые мне нужны, и один, который требует обновления.Но они возвращаются ноль.

Что вызывает возврат нулевого объекта из EF и как мне его обойти.

Спасибо

Саймон

...