实体框架ALTER TABLE语句与FOREIGN KEY约束冲突
技术问答
382 人阅读
|
0 人回复
|
2023-09-14
|
关于在Entity Framework在数据库更新中,首先代码迁移,出现此错误:
# f% ?4 q$ ~- z1 r6 BALTER TABLE语句与FOREIGN KEY约束“3 P/ E K' `( }: u c- M+ D
FK_dbo.Clients_dbo.MedicalGroups_MedicalGroupId冲突。数据库 hrbc”的表“
8 J# p* Q& A5 qdbo.MedicalGroups”的列“ Id冲突发生在中间。5 P" p. _& q' e- M W- z* e. m# H
这是我的课:
1 _2 `2 i' v3 |public partial class Client{ [Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; public string FirstName { get; set; public string LastName { get; set; public int? MedicalGroupId { get; set; [ForeignKey("MedicalGroupId")] public virtual MedicalGroups MedicalGroup { get { return _MedicalGroup; } set { _MedicalGroup = value; } }}这是我的二等班:! e8 k) c" [& A' e$ n" a# p
public partial class MedicalGroups{ [Key] public int Id { get; set; public string Name { get; set; }}这是我想申请的迁移:
' H- G" P; g/ s5 Z# ]public override void Up(){ AddForeignKey("dbo.Clients","MedicalGroupId","dbo.MedicalGroups","Id"); CreateIndex("dbo.Clients","MedicalGroupId");}
$ L& Y" z' o4 Y5 c0 p 解决方案:
4 W' s( E0 s; M( U6 Y8 ]8 {! i 我得到了我问题的解决方案。问题是我的客户表中有数据。因为我的客户表不现实medicalgroupid所以它在外键约束上给了我错误。* ]: t2 o) [+ b. K
Update Client set MedicalGroupId = NULL |
|
|
|
|
|