实体框架ALTER TABLE语句与FOREIGN KEY约束冲突
技术问答
314 人阅读
|
0 人回复
|
2023-09-14
|
关于在Entity Framework在数据库更新中,首先代码迁移,出现此错误:
" ]5 l: t" F7 V: u; GALTER TABLE语句与FOREIGN KEY约束“
" Y( C$ g g) RFK_dbo.Clients_dbo.MedicalGroups_MedicalGroupId冲突。数据库 hrbc”的表“
; d( F( n4 U" m/ b) q! h" |) ndbo.MedicalGroups”的列“ Id冲突发生在中间。0 o! q$ x6 C/ J
这是我的课:- j8 b8 G- S* j, Z8 t+ C
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; } }}这是我的二等班:
- ~! |: l R1 O$ M' \: N: B7 _public partial class MedicalGroups{ [Key] public int Id { get; set; public string Name { get; set; }}这是我想申请的迁移:
6 O% b! ]- B0 A" l- b) Epublic override void Up(){ AddForeignKey("dbo.Clients","MedicalGroupId","dbo.MedicalGroups","Id"); CreateIndex("dbo.Clients","MedicalGroupId");}
" t0 D2 b$ ?; F! A 解决方案:
2 Z, n0 J' ~) l4 C% E 我得到了我问题的解决方案。问题是我的客户表中有数据。因为我的客户表不现实medicalgroupid所以它在外键约束上给了我错误。
. M4 M7 ~7 B+ XUpdate Client set MedicalGroupId = NULL |
|
|
|
|
|