假設我有這樣的場景:EF刪除試圖更新外鍵
Table Bar
Id int not null
Name string not null
和
Table Foo
Id int not nul
BarId int foreign key (Bar) references Id
當我嘗試刪除具有Foo中,參考爲什麼EF試圖更新吧Foo將BarId設置爲NULL?
我有一個驗證我的財產,當有人試圖設置爲NULL條,並收到此錯誤時,EF試圖更新富。
如果我嘗試刪除執行類似的查詢「從富刪除其中id = 1」我得到:
The DELETE statement conflicted with the REFERENCE constraint "FooFK".
The conflict occurred in database "teste", table "dbo.Bar", column 'BarId'.
我想,當我使用EF得到這個錯誤。有沒有辦法做到這一點? 我使用EF 4.3。
這是我的地圖:
modelBuilder.Entity<Bar>().HasRequired(x => x.Foo).WithMany().Map(x => x.MapKey("FooId")).WillCascadeOnDelete(false);
它試圖BarId設置爲空由於該約束。您沒有級聯刪除,並且外鍵列需要值或null。你能發佈你的約束嗎? – scheien
但我的列不接受NULL。 –
約束: ALTER TABLE [dbo]。[Cargo] WITH CHECK ADD CONSTRAINT [CargoRaiz_Instituicao] FOREIGN KEY([Instituicao_Id]) REFERENCES [dbo]。[Instituicao]([Id]) –