掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
在進(jìn)行LINQ刪除記錄的時(shí)候肯定會(huì)遇到這樣或那樣的問題,那么針對(duì)這些可能遇到的問題,我們是如何處理呢?下面就向你介紹一個(gè)在LINQ刪除記錄的過程中遇到的問題,希望對(duì)你有所啟發(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)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元賽罕做網(wǎng)站,已為上家服務(wù),為賽罕各地企業(yè)和個(gè)人服務(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();
- }
我的目的是要?jiǎng)h除ID為albumid的相冊(cè)以及里面的所有照片,但是卻出現(xiàn)了“在更改集中檢測(cè)到了循環(huán)”這個(gè)錯(cuò)誤。
LINQ刪除記錄問題的解決方案:
可以使用Linq的DeleteAllOnSubmit語句,不需要循環(huán)。把foreach語句替換為xt.PictureInfo.DeleteAllOnSubmit(picslog);
另:***條語句應(yīng)該用.SingleOrDefault()查詢并對(duì)判斷有沒有查詢結(jié)果picslog就可以用 var picslog = xt.PictureInfo.where(q.AlbumInfo == albumlog);
還有,如果我們已經(jīng)知道變量的類型了為什么還要用匿名類型呢?讓編譯器再去做這些工作有點(diǎn)浪費(fèi)吧。
LINQ刪除記錄的操作相關(guān)的內(nèi)容就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)LINQ刪除記錄有所幫助。
【編輯推薦】

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流