В сценарии оптимистичного параллелизма для веб-приложения я планирую дать каждой таблице столбец меток времени (sqlserver), сравнимый с guid. Linq для сущностей будет затем генерировать sql-запросы на обновление, такие как WHERE id = @p0 AND timestamp = @p1
, когда каждый украшает столбец отметки времени с определенным атрибутом в Entity Framework. Когда количество возвращенных обновленных записей равно 0
, мы обнаружили исключение параллелизма.
Во многих постах я читаю о Self Tracking Entities, который может быть альтернативным или лучшим решением. Но я не увидел никакого преимущества перед «простым» методом меток времени, описанным выше. Помимо сценария, в котором база данных является неизменной и не предлагает столбец отметки времени.
Какое решение лучше и почему?
EDIT
Юрий Тарабанко правильно утверждает, что STE - это другая концепция.
Однако ответ Зеешанхирани показывает, что проверка параллелизма является одним из основных мотивов для отслеживания изменений.
Давайте перефразируем вопрос: зачем кому-то использовать концепцию STE для проверки параллелизма, где метод «столбца метки времени» выглядит намного проще.