0
我有如下表:Breezejs唯一約束與刪除
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」,業務邏輯層將另一行的YESNO字段設置爲Y.
origEntity.entityAspect.setDeleted();
otherEntity.YesNo('Y');
在進行實際的數據庫操作,微風首先更新其它行Y,前執行原始刪除。這違反了獨特的約束。有沒有簡單的方法使DELETE首先發生,還是需要特殊的服務器端刪除處理?