c# - 为什么我的代码不更新数据库?

标签 c# entity-framework

看这两段代码

  1. 首先:

    Slide _Slide = DataContext.Slides.SingleOrDefault(rec => rec.Id == _SlideObj.Id);
    _Slide = _SlideObj;            
    DataContext.SaveChanges();
    
  2. 第二个:

    Slide _Slide = DataContext.Slides.SingleOrDefault(rec => rec.Id == _SlideObj.Id);
    _Slide.Title = _SlideObj.Title;
    _Slide.Description = _SlideObj.Description;
    DataContext.SaveChanges();
    

第一个代码不更新数据库,但第二个更新。为什么?如何更改我的代码以在第一种方法中执行更新操作? (我喜欢用第一种方法)

最佳答案

第一个仅将变量 的值更改为不同的引用。它实际上并不以任何方式更新对象。数据上下文正在跟踪对象

关于c# - 为什么我的代码不更新数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7946111/

相关文章:

c# - 将一种类型转换为另一种类型

c# - 我正在尝试在注册表中创建一个 key 。但是当我执行这个命令时,我得到一个错误 : The specified path is invalid

c# - 什么时候应该使用 IEqualityComparer? C#

c# - 保留同一个类的列表

c# - EF 根据数据库更改重新生成代码模型

c# - 为什么我不能使用此模式删除 "[restr=戸]"

c# - Entity Framework 中 DbContext 的奇怪行为

c# - 仅使用一个 dbContext 对多个数据库执行投影

c# - 如何使用 ValueConversions 检索 Entity Framework Core 的数据库模型

c# - 限制在 WPF 文本框中输入的行数