Дозвуковой Удалить несколько записей - PullRequest
0 голосов
/ 30 сентября 2009

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

repo.DeleteMany (x => x.MeetingAttendeeUserID == userID && x.EducationDegreeID userDegreeList)

Спасибо, Льюис

Ответы [ 3 ]

1 голос
/ 01 октября 2009

Не могли бы вы сделать что-то подобное?

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

Редактировать: Или это.

repo.DeleteMany(x =>
    x.MeetingAttendeeUserId == userID &&
    userDegreeList.Contains(x.EducationDegreeID))
);
0 голосов
/ 08 декабря 2011

Я бы порекомендовал, если вы не знаете выражение Ламды. Создайте собственную хранимую процедуру и вызовите ее.

Это не ограничит вас использованием лямда-выражения, если у вас нет времени на его изучение.

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

0 голосов
/ 04 июня 2010

Я пытался

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

и это ничего не делает, даже ошибка.

Приложение для кого-то, кто сталкивался с этим: не конвертируйте в вызове delete, конвертируйте переменные заранее.

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

и выстрелил нормально.

...