簡體   English   中英

為什么我的代碼不更新數據庫?

[英]Why Doesn't my Code Update The database?

看看這兩個代碼

  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(); 

第一個代碼不會更新數據庫,而是第二個更新。 為什么? 如何更改我的代碼以在第一種方法中執行更新操作? (我喜歡用第一種方法)

第一個僅將變量的值更改為不同的引用。 它實際上不會以任何方式更新對象 數據上下文正在跟蹤對象

沒有更新,因為您沒有更改任何內容。 在第一種情況下,您只需將_Slide更改為指向其他幻燈片。

第一種方法的問題是設計上的,與您正在使用的框架無關。

通過調用:_Slide = _SlideObj;
你告訴_Slide指向_SlideObj,但是在內存中,前一個指向_Slider的指針的Title和Description屬性保持不變。

因此,這是正常行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM