SQL Express 2008 Не фиксирует LINQ для SQL записи в последовательности? - PullRequest
1 голос
/ 11 сентября 2009

У меня есть приложение, управляемое событиями, которое недавно начало использовать SQL Express 2008 (вместо версии Std) в dev и test для сохранения текущего состояния конечного автомата. После перехода на SQL Express мы начали видеть расхождение между порядком, в котором мы записываем в базу данных (используя LINQ to SQL), и порядком, в котором SQL Express Profiler сообщает данные, поступающие в базу данных.

Мы регистрируем данные, используя Log4Net, и записи журнала показывают, что входящие события происходят в правильном порядке, и мы должны обработать их в правильном порядке. Мы также обнаружили, что при профилировании SQL Express данные записываются не в порядке . Эффект заключается в том, что когда появляются последующие события (примерно через 500 мс после вызова SubmitChanges() для контекста данных LINQ), записи в БД еще не были (еще?) Зафиксированы, поэтому модели состояний считают, что мы находимся в недопустимом состоянии, и не правильно переходить. Конечный результат - хаос.

Для чего бы то ни было, я не вижу этого в SQL Server 2008 Standard, поэтому мне интересно, если это проблема с SQL Express? Вы видели подобные проблемы с этим?

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

С уважением,

Эндрю Мэтьюз

1 Ответ

0 голосов
/ 08 октября 2009

Когда вы говорите, что обработали их в правильном порядке, вы подразумеваете порядок, в котором вы указали LINQ to SQL что-то сделать? Причина в том, что LINQ to SQL внутренне переупорядочивает операции.

Что вы регистрируете? Свойство журнала LINQ to SQL datacontext?

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