0

DELETE 语句与 REFERENCE 约束 >“FK_dbo.VendorDocuments_dbo.VendorModels_VendorId”冲突。冲突发生在数据库 >“aegisv”、表“dbo.VendorDocuments”、列“VendorId”中。该语句已终止。

意味着我有一个 VendorModel 表,其中包含 invoicedocument 列表(它是具有表供应商模型外键 vendorId 的模型)。当我试图从数据库中删除供应商模型时,我遇到了异常。

我尝试了各种事情,但我还没有解决相同的问题。

已添加以下代码但不起作用。

      modelBuilder.Entity<VendorDocument>()
            .HasRequired(x => x.VendorModel)
            .WithMany(u => u.VendorDocumemts)
            .WillCascadeOnDelete();

请任何人都可以帮助我..谢谢。

4

2 回答 2

0

只需在这里更改一点代码,试试看:-

 modelBuilder.Entity<VendorDocument>()
            .HasOptional(j => j.VendorModel)
            .WithMany(u => u.VendorDocumemts)
            .WillCascadeOnDelete(true);
于 2013-10-08T10:48:24.353 回答
0

您还必须在数据库上启用级联删除规则。EF 不负责在数据库中级联删除。

EF 负责 ObjectContext 之后的正确性SaveChanges()。因此,EF 尝试将 ObjectContext 与数据库中预期级联之后的预期数据库状态同步。

因此,如果您在模型中创建了级联删除规则,则必须在数据库中配置级联删除规则。 提示 33

在数据库中启用级联删除规则 -启用 CascadeDelete

于 2013-10-08T16:04:19.340 回答