[英]Why doesn't my C# code update the SQL Server database although I get the correct number of affected rows
[英]Why Doesn't my Code Update The database?
看看這兩個代碼
第一:
Slide _Slide = DataContext.Slides.SingleOrDefault(rec => rec.Id == _SlideObj.Id); _Slide = _SlideObj; DataContext.SaveChanges();
第二:
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.