Убедитесь, что объекты LINQ to SQL удалены при отправке - PullRequest
0 голосов
/ 08 марта 2010

Как лучше всего пометить некоторые сущности DeleteOnSubmit (). Есть ли способ проверить и сказать контексту, что это для удаления?

Пример: у меня есть объект, который ссылается на EntitySet <>, и я удаляю из EntitySet <> 4 из 8 объектов. При отправке изменений я хочу сказать DeleteOnSubmit () на этих 4! Этот сценарий также должен играть на одном EntityRef <>.

Конечно, DataContext живет в другом слое, так что ... захват, изменение, отправка назад - это работа.

Спасибо.

Ответы [ 2 ]

1 голос
/ 08 марта 2010

Это довольно сложно ответить на основании описания вашей архитектуры. То, что вы используете многоуровневый подход, не означает, что вы не можете вызвать DeleteOnSubmit ... вы просто вызовете свой собственный метод, который, как я полагаю, обернут.

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

Тем не менее, я никогда не беспокоился о вещах сериализации / десериализации / повторного присоединения всей сущности, поскольку это кажется чреватым опасностью . Я обычно просто собираю первичные ключи в списке, выбираю сущности и повторно удаляю их. Это больше не работа, правда.

0 голосов
/ 08 марта 2010

Посмотрите на DeleteAllOnSubmit (). Вы передаете этот метод список объектов, которые будут удалены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...