c# - 必须先删除或重新定义所有包含外键,然后才能删除属性 - EF Core
问题描述
在使用实体框架核心添加外键后尝试添加迁移时出现上述错误。我正在添加 FK
public class ApplicantDetail
{
[Key]
public int Id { get; set; }
[ForeignKey("GrantProgramFK")]
public GrantProgram GrantProgramId { get; set; }
--------
}
这个 FK 与类有关
public class GrantProgram
{
[Key]
public int Id { get; set; }
-----
}
任何帮助表示赞赏。我试图删除实体并再次运行迁移,但失败了。
完整错误:
无法从实体类型“EFDataAccessLibrary.Models.ApplicantDetail”中删除属性“GrantProgramId”,因为它正在“EFDataAccessLibrary.Models.ApplicantDetail”的外键 {“GrantProgramId”} 中使用。必须先删除或重新定义所有包含的外键,然后才能删除该属性
我找到了一个页面, 点击这里,但这是什么意思?如何解决它。
解决方案
我有同样的问题。我通过删除外键中的“id”解决了这个问题:
public class ApplicantDetail
{
[Key]
public int Id { get; set; }
[ForeignKey("GrantProgramFK")]
public GrantProgram GrantProgram { get; set; }
--------
}
我仍然不知道为什么。如果有人可以解释或给出解决方案以将“id”留在其中,请随时告诉我们。
推荐阅读
- python - 没有返回任何内容时的 Numpy Docstrings
- python - 在 API 响应中附加服务器名称——Django rest 框架
- wordpress - 来自后端的 wp_handle_upload()
- r - 使用 sink() 错误地打印到 .txt
- r - R包中的非标准遥控器包INLA
- amazon-web-services - 在 EC2 中运行并且希望只有一个用户可以访问的服务器
- cookies - 如何检查我的会话 cookie 大小限制是否已超出?
- questdb - 如何跳过 QuestDB SQL 中的 N 行?
- java - 如何在 HarmonyOS 中为 AnimatorValue 对象设置加速插值器?
- ios - Swift UI 更新 @EnvironmentObject 阻止 @StateObject 上的其他更新