新聞中心
在進(jìn)行LINQ刪除記錄的時(shí)候肯定會遇到這樣或那樣的問題,那么針對這些可能遇到的問題,我們是如何處理呢?下面就向你介紹一個在LINQ刪除記錄的過程中遇到的問題,希望對你有所啟發(fā)。

成都創(chuàng)新互聯(lián)從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元賽罕做網(wǎng)站,已為上家服務(wù),為賽罕各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108
LINQ刪除記錄問題的出現(xiàn):
- public void DeleteAlbum(int albumid)
- {
- var albumlog = (from p in xt.AlbumInfo
- where p.Album_id == albumid
- select p).Single();
- var picslog = from q in xt.PictureInfo
- where q.AlbumInfo.Album_id == albumid
- select q;
- foreach (PictureInfo log in picslog)
- {
- xt.PictureInfo.DeleteOnSubmit(log);
- }
- xt.AlbumInfo.DeleteOnSubmit(albumlog);
- xt.SubmitChanges();
- }
我的目的是要刪除ID為albumid的相冊以及里面的所有照片,但是卻出現(xiàn)了“在更改集中檢測到了循環(huán)”這個錯誤。
LINQ刪除記錄問題的解決方案:
可以使用Linq的DeleteAllOnSubmit語句,不需要循環(huán)。把foreach語句替換為xt.PictureInfo.DeleteAllOnSubmit(picslog);
另:***條語句應(yīng)該用.SingleOrDefault()查詢并對判斷有沒有查詢結(jié)果picslog就可以用 var picslog = xt.PictureInfo.where(q.AlbumInfo == albumlog);
還有,如果我們已經(jīng)知道變量的類型了為什么還要用匿名類型呢?讓編譯器再去做這些工作有點(diǎn)浪費(fèi)吧。
LINQ刪除記錄的操作相關(guān)的內(nèi)容就向你介紹到這里,希望對你了解和學(xué)習(xí)LINQ刪除記錄有所幫助。
【編輯推薦】
- C# Lambda Expression概念淺析
- 詳解C# Lambda表達(dá)式的動態(tài)生成
- C# Lambda Expression使用實(shí)例解析
- 淺談LINQ刪除XML節(jié)點(diǎn)
- 學(xué)習(xí)LINQ基本操作的一點(diǎn)體會
本文標(biāo)題:LINQ刪除記錄實(shí)戰(zhàn)解析
文章網(wǎng)址:http://www.dlmjj.cn/article/dpeppcs.html


咨詢
建站咨詢
