context.ReporLessons.Find(reportLesson.Id)获取存在数据的空对象

时间:2019-05-15 10:42:36

标签: c# .net entity-framework .net-core entity-framework-core

我目前正在使用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时,我有三个返回null的列表对象。

我需要与之交互的一个列表对象,还有另外两个列表,我需要更新其中一个列表,以便更新后面的表,这些表无法访问。

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拥有我需要的两个列表对象和一个需要更新的列表对象。但是这些都返回null。

是什么导致从EF返回空对象以及如何解决它。

谢谢

西蒙(Simon)

0 个答案:

没有答案