假设我有这样的场景: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]) –