Сохранение транзакций LINQ-to-SQL для повторного запуска позже? - PullRequest
1 голос
/ 11 марта 2010

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

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

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

Полагаю, что я пытаюсь спросить, есть ли способ «отсканировать» вставки / обновления / удаления, которые выполняет мой LINQ-to-SQL?

Это реалистичная идея? Если нет, может кто-нибудь предложить другой подход к этому вопросу?

Спасибо

Dave

Ответы [ 2 ]

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

Учитывая вашу реальную проблему (т.е. распространение изменений конфигурации от подготовки к производству), я думаю, что лучшим решением было бы разработать механизм создания / применения «снимков конфигурации», а нечем регистрация и применение действий, которые привели к созданию необходимой конфигурации.

У вашего решения (регистрация запросов из контекста данных) есть следующие недостатки, которые лежат на поверхности:

  • это зависит от начальнойсостояние конфигурации (вы столкнетесь с проблемами в случае, если ваша производственная конфигурация отличается от промежуточной конфигурации, когда вы начинаете регистрировать свои действия)
  • вы имеете дело со списком действий (который может быть довольно сложным)в то время как вы на самом деле заинтересованы в результате этих действий - так что лучше сохранить окончательный результат
1 голос
/ 11 марта 2010

Вы устанавливаете свойство Log в DataContext, чтобы увидеть обработанный SQL. Быстрый поиск вызывает эту интересную страницу:

http://www.u2u.info/Blogs/Kris/Lists/Posts/Post.aspx?ID=11

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