2009-09-30 7 views
0

У меня есть таблица, которая имеет два поля, userid и degreeid. Пользователь может иметь несколько степеней в этой таблице. Когда пользователь выбирает степень, я хочу удалить любой идентификатор степени уже в базе данных, но не выбран пользователем. Как это сделать? Я стараюсь использовать что-то вроде этого без везения.Subsonic Удалить несколько записей

repo.DeleteMany (х => x.MeetingAttendeeUserID == идентификатор пользователя & & 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

+0

Я знаю, что это были времена, но это всегда срабатывало для вас? – Stephen

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, если у вас нет времени, чтобы изучить его.

В конечном счете вы хотели выполнить свою работу.

Смежные вопросы