0

Вот сложная проблема, с которой я сталкиваюсь с ветром, структурой сущностей и полем datetime.Breeze optimistic concurrency exception save datetime

Я получаю оптимистическое исключение параллелизма при сохранении объекта из-за поля даты, имеющего текущие микросекунды, добавленные к нему при входе и выходе из системы бриза.

Следовательно, структура сущности думает, что что-то еще отредактировала db, поскольку ее исходное значение больше не соответствует тому, что находится в db (так как значение микросекунд составлено на месте). SQL вроде получается следующее:

exec sp_executesql N'UPDATE [dbo].[Profiles] SET [DOB] = @0, [TotalTime] = @1, [Modified] = @2 WHERE (([Id] = @3) AND ([DOB] = @4)) ',N'@0 datetime2(7),@1 float,@2 datetime2(7),@3 uniqueidentifier,@4 datetime2(7)',@0='2015-06-22 15:21:43.4180000',@1=3210,@2='2015-06-22 15:22:52.7520000',@3='F944965E-9E18-E511-BF26-4CEB4272XXXX',@4='2015-06-22 15:21:01.5320000'

EF ищет дату 2015-06-22 15: 21: 01,5320000 однако сохраненная дата фактически 2015-06-22 15 : 21: 01,533. Разница в 1 миллисекунду.

Я не уверен, почему это так?

Исправление Im, которое в настоящее время пытается реализовать, это добавить эту функцию в main.js моего приложения.

breeze.DataType.parseDateFromServer = функция (источник) { вар дт = момент (источник) .toDate(); dt.setMilliseconds (0); return dt; };

Это, похоже, избавило меня от этой привязки.

ответ

0

Doh! Как выяснилось, кто-то установил ConcurrencyMode поля DOB в диаграмме сущности на «Fixed», и это привело к тому, что он был сильно проверен таким образом. Изменение этого значения на «Нет» исправлено.

Смежные вопросы