Это довольно сложно ответить на основании описания вашей архитектуры. То, что вы используете многоуровневый подход, не означает, что вы не можете вызвать DeleteOnSubmit
... вы просто вызовете свой собственный метод, который, как я полагаю, обернут.
Если, конечно, вы не создаете экземпляр своего объекта DataContext в процедуре обновления. в этом случае вам придется сделать что-то еще. Ваш уровень данных может предоставить такой метод, как MarkForDelete()
, который просто добавляет сущность в коллекцию, затем предоставляет отдельную SubmitChanges()
, которая перебирает собранные элементы для удаления, присоединяет их к текстовому тексту и затем выполняет фактический вызов DeleteAllOnSubmit()
.
Тем не менее, я никогда не беспокоился о вещах сериализации / десериализации / повторного присоединения всей сущности, поскольку это кажется чреватым опасностью . Я обычно просто собираю первичные ключи в списке, выбираю сущности и повторно удаляю их. Это больше не работа, правда.