我目前正在使用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)