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

本文关键字:数据库 更新 我的 代码 为什么 | 更新日期: 2023-09-27 18:12:42

看这两个代码

  1. :

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

第一个代码不更新数据库,但第二个代码更新。为什么?我怎么能改变我的代码做更新操作在第一个方法?(我喜欢使用第一种方法)

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

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

没有更新,因为您没有更改任何内容。在第一种情况下,您只是将_Slide更改为指向不同的Slide。

第一种方法的问题在于设计,与您使用的框架无关。

通过调用: