我正在使用.Net Core和EF Core,但有一个问题,其中context.Entry(original).CurrentValues.SetValues(model);
没有设置值。
某些原始项目为null,其中它们在模型中不为null,我希望它们会被更新。
我也有未设置的字符串值。
也没有错误。
单步执行代码时,没有任何迹象表明问题出在哪里。
如果我愿意
Original.Competencies = model.competencies
,然后context.SaveChangesAsync()
起作用。
这是全部代码块。
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>();
}
问题是,是什么原因导致未设置值?如何解决?