У меня есть следующая таблица:Breezejs Уникальный Constraint с Delete
CREATE TABLE Foo AS (
Id int not null primary key,
YesNo char(1) not null default('N')
)
Это имеет следующее ограничение - «один и только один ряд может иметь значение„Y“»
CREATE UNIQUE NONCLUSTERED INDEX [IX_YesNo] ON [dbo].[Foo]
(
[YesNo] ASC
)
WHERE ([YesNo]=('Y'))
Применение код (Breeze JS) обеспечивает, чтобы одна строка всегда была «Y». Так что если вы удалите строку с YesNo = «Y», то BLL устанавливает поле YESNO другой строки, чтобы быть Y.
origEntity.entityAspect.setDeleted();
otherEntity.YesNo('Y');
При выполнении реальных операций DB, Бриз FIRST обновление второй строки к Y, до совершенствуя удаление оригинала. Это нарушает уникальное ограничение. Есть ли простой способ сделать DELETE первым, или мне нужна специальная обработка удаления на стороне сервера?