久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Entity Framework 簡單增刪改操作

 昵稱10504424 2013-10-09

 在 Entity Framework 簡單查詢操作 中主要是學習了在Entity Framework中的幾種不同模式的查詢操作,現(xiàn)在主要來學習一下簡單的增加,、刪除,、修改操作,。

增加

  在EF中添加操作一般有兩種方式:一是直接創(chuàng)建對象,,然后調(diào)用“DbSet”的”Add()”方法進行添加,;二是調(diào)用數(shù)據(jù)庫上下文的”Entry()”方法并設(shè)置對應(yīng)的狀態(tài),。無論使用哪種方式最終一定要調(diào)用“SaveChange()”進行提交,。如:

執(zhí)行后效果如下

 

 此外,,在含有導航屬性時,將一個對象賦值給另一個對象的導航屬性也能達到添加的效果(當導航屬性為”DbSet“集合時通過調(diào)用導航屬性的“Add()“方法也同樣可以達到添加效果),。

狀態(tài)跟蹤

 在這里我們需要強調(diào)一點那就是狀態(tài)跟蹤,,對于上面的操作如果我們調(diào)用“Attach()”方法對實體進行跟蹤或者設(shè)置實體的狀態(tài)那么數(shù)據(jù)將不會保存到數(shù)據(jù)庫:

 

這兩句添加任何一句效果都是一樣的,就是都沒有保存到數(shù)據(jù)庫中,。

 

使用”Attach()”方法進行實體跟蹤時會設(shè)置實體的狀態(tài)為“Unchanged”此時實體處于未修改狀態(tài),,當執(zhí)行“SaveChange()”方法時EF不會執(zhí)行修改操作。相反如果此時設(shè)置實體狀態(tài)為“Modified”則EF執(zhí)行更新操作,。那么既然EF的數(shù)據(jù)修改操作(增加,、更新、刪除)是根據(jù)實體狀態(tài)而進行的,,那么為什么之前我們的增加操作能正常進行而不用手動修改其狀態(tài)呢,?原因是EF會自動發(fā)現(xiàn)狀態(tài)改變,在調(diào)用下面的方法時狀態(tài)發(fā)現(xiàn)是自動的:  

當然,,并不是所有的時候我們都需要EF自動發(fā)現(xiàn)狀態(tài)改變,,設(shè)置 “DbContext.Configuration.AutoDetectChangesEnabled”屬性為“false”可以禁用自動發(fā)現(xiàn)功能。

刪除

 現(xiàn)在來看一下Entity Framework的刪除操作

當然有了上面狀態(tài)跟蹤的討論相信大家也可以想到如下刪除方法:

上面兩種方法都會達到刪除的目的,。

修改

修改數(shù)據(jù)很簡單,,直接修改對應(yīng)的屬性即可:

需要說明的是,EF在執(zhí)行修改操作前會檢查哪些屬性發(fā)生了變化,并且只會修改發(fā)生變化的字段。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多