实体框架ALTER TABLE语句与FOREIGN KEY约束冲突
技术问答
441 人阅读
|
0 人回复
|
2023-09-14
|
关于在Entity Framework在数据库更新中,首先代码迁移,出现此错误:
C' b; J. S9 `7 b1 tALTER TABLE语句与FOREIGN KEY约束“6 G! Z( o% B5 r, u
FK_dbo.Clients_dbo.MedicalGroups_MedicalGroupId冲突。数据库 hrbc”的表“ Q' j% R& U! @0 T
dbo.MedicalGroups”的列“ Id冲突发生在中间。$ f/ }; n2 r5 x. o# w7 c r
这是我的课:- c |: Z; G* N1 m0 ^2 ~( l
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; } }}这是我的二等班:) [- t# q4 m8 R" U6 ]+ o, a
public partial class MedicalGroups{ [Key] public int Id { get; set; public string Name { get; set; }}这是我想申请的迁移:
- ? B$ m* u- S5 Q- L* Bpublic override void Up(){ AddForeignKey("dbo.Clients","MedicalGroupId","dbo.MedicalGroups","Id"); CreateIndex("dbo.Clients","MedicalGroupId");}
' z5 Y( b0 u- c" _0 V3 g 解决方案: 1 s8 {9 q. y c* h
我得到了我问题的解决方案。问题是我的客户表中有数据。因为我的客户表不现实medicalgroupid所以它在外键约束上给了我错误。( o8 r2 A) l+ ~0 z; }1 @# r4 E
Update Client set MedicalGroupId = NULL |
|
|
|
|
|