2009-09-30 130 views
0

我有一個表有兩個字段,userid和degreeid。用戶可以在此表中使用多種脫脂劑。當用戶選擇他們的學位時,我想刪除數據庫中已有的任何學位號,但未被用戶選中。應該怎麼做?我試圖用這樣的東西沒有運氣。Subsonic刪除多個記錄

repo.DeleteMany(X => x.MeetingAttendeeUserID ==用戶ID & & x.EducationDegreeID userDegreeList)

感謝, 劉易斯

回答

1

你能不能做這樣的事?

repo.DeleteMany(x => 
    x.MeetingAttendeeUserId == userID && 
    x.EducationDegreeID != selectedDegreeId 
); 

編輯:或這。

repo.DeleteMany(x => 
    x.MeetingAttendeeUserId == userID && 
    userDegreeList.Contains(x.EducationDegreeID)) 
); 
+0

謝謝。我會嘗試。 – Lewis 2009-10-01 11:43:22

+0

我知道這已經過時了,但是這樣做對你有用嗎? – Stephen 2010-03-09 03:52:13

0

我已經試過

SubSonicRepository<ReportDatum> repo = new SubSonicRepository<ReportDatum>(db); 
repo.DeleteMany(x => x.ReportID == Convert.ToInt32(reportID)); 

,它什麼都不做,甚至不是一個錯誤。

有人遇到此問題的附錄: 不會在刪除調用中轉換,請事先轉換您的變量。

int deleteKey = Convert.ToInt32(reportID) 
SubSonicRepository<ReportDatum> repo = new SubSonicRepository<ReportDatum>(db); 
repo.DeleteMany(x => x.ReportID == deleteKey); 

它發射得很好。

0

如果您不知道Lamda表達,我會推薦。創建您自己的存儲過程並調用它。

如果您沒有時間學習它,這不會限制您使用lamda表達式。

最終你想完成你的工作。