Может ли кто-нибудь сказать мне, если/как вы можете проверить изменения в контексте данных в Linq2Sql до, вызывающего SubmitChanges(). Ситуация у меня заключается в том, что я создаю контекст, выполняю несколько операций и добавляю много вставок вместе с другими задачами обработки, а затем откаты, если сбой невозможен.Подтвердить Linq2Sql перед SubmitChanges()
Что я хотел бы сделать, это сделать какой-то вызов «Validate()» после выполнения определенных задач, чтобы я мог обработать его перед отправкой всей работы.
никогда не замечал .GetChangeSet() метод раньше! Спасибо за это! +1 – StevenMcD
Фактический подход, с которым я столкнулся, заключался в создании частичного класса с именем таблицы и внедрении кода проверки в OnFooChanging() для полей, которые я хотел проверить. Он работает, чтобы сразу бросать исключения, когда значение задано, а не в SubmitChanges(). Я не использовал ChangeSet, но он указал мне в правильном направлении и удобен в любом случае. –
@Nick - я чувствую себя бесполезным, рассказывая вам об этом, потому что я не могу вспомнить блог, в котором я читал об этом, но, судя по всему, это хорошая идея сохранить независимость проверки от обработчиков OnChange, поскольку она позволяет создавать сложные сценарии проверки, где проверка одного свойства зависит от значения других и т. д. – Mark