c# - 在删除属性之前,必须删除或重新定义所有包含的外键 - EF Core

标签 c# asp.net entity-framework entity-framework-core ef-code-first

在使用 Entity Framework 核心添加外键后尝试添加迁移时,出现上述错误。
我正在添加 FK

public class ApplicantDetail
    {
        [Key]
        public int Id { get; set; }
        [ForeignKey("GrantProgramFK")]
        public GrantProgram GrantProgramId { get; set; }
 --------
   }
这个 FK 与类(class)有关
public class GrantProgram
    {
        [Key]
        public int Id { get; set; }
   -----
    }
任何帮助表示赞赏。我尝试删除实体并再次运行迁移,但失败了。
完整错误:

The property 'GrantProgramId' cannot be removed from entity type 'EFDataAccessLibrary.Models.ApplicantDetail' because it is being used in the foreign key {'GrantProgramId'} on 'EFDataAccessLibrary.Models.ApplicantDetail'. All containing foreign keys must be removed or redefined before the property can be removed


我找到了一个页面,
click here , 但是,这是什么意思?如何解决。

最佳答案

我有同样的问题。我通过删除外键中的“id”解决了这个问题:

public class ApplicantDetail
    {
        [Key]
        public int Id { get; set; }
        [ForeignKey("GrantProgramFK")]
        public GrantProgram GrantProgram { get; set; }
 --------
   }
我仍然不知道为什么。如果有人可以解释或给出解决方案以在其中留下“id”,请随时告诉我们。

关于c# - 在删除属性之前,必须删除或重新定义所有包含的外键 - EF Core,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66168757/

相关文章:

c# - 为什么我不能使用 Lambda 表达式取消订阅事件?

c# - 使用 Webservice 填充 Jquery 数据表

entity-framework - 多对多关系检测变化

entity-framework - Asp.Net MVC 5 中的多对多关系与身份表和自定义表

c# - 知道从代码隐藏中选择了哪个选项卡

c# - MySQL 查询中输入字符串的格式不正确错误

c# - 不支持关键字 : 'provider' . 打开 SqlConnection

c# - Entity Framework Core - 对计算字段进行排序

c# - 使用正则表达式的字符串到字典(想要优化)

c# - 当 GridView 为空时隐藏面板