首页 > 解决方案 > 使用实体框架删除/删除外键

问题描述

我们的系统中有各种表,它们有一个外键引用同一个表中的一个 id。这是不久前使用我们的配置文件中的以下代码通过实体框架添加的:

this.HasRequired(e => e.Pay)
    .WithMany()
    .HasForeignKey(wcc => e.PayId)
    .WillCascadeOnDelete(true);

注意有些是用 HasOptional 而不是 HasRequired 定义的。

有没有办法删除这些外键?我尝试了以下方法:

this.HasRequired(e => e.Pay)
    .WithMany();

但这在创建新迁移时不会生成任何代码,然后我尝试删除上面提供的整个代码,再次,它在创建迁移时没有生成任何代码。

有没有办法从特定表中删除现有的外键?我仍然需要该字段,但我不希望它成为外键。

谢谢。

标签: c#entity-frameworkentity-framework-6

解决方案


推荐阅读