context.Entry(原始).CurrentValues.SetValues(模型);没有设置值

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

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

我正在使用.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>();
}

问题是,是什么原因导致未设置值?如何解决?

0 个答案:

没有答案