实体框架ALTER TABLE语句与FOREIGN KEY约束冲突
技术问答
153 人阅读
|
0 人回复
|
2023-09-14
|
关于在Entity Framework在数据库更新中,首先代码迁移,出现此错误:" |# B8 {. i6 V" S% v* l
ALTER TABLE语句与FOREIGN KEY约束“8 q' L) ?/ d) x3 t
FK_dbo.Clients_dbo.MedicalGroups_MedicalGroupId冲突。数据库 hrbc”的表“
' X, M G6 z$ u; N M; _dbo.MedicalGroups”的列“ Id冲突发生在中间。) T( u. A' o0 e7 R/ w# J( h* L% h6 b
这是我的课:
! \" w$ g. y3 f3 X [ x" h; ]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; } }}这是我的二等班:1 c& l- F8 ~ ]( I* J D% F
public partial class MedicalGroups{ [Key] public int Id { get; set; public string Name { get; set; }}这是我想申请的迁移:
3 k! `1 ^4 }; ^; ?+ ]public override void Up(){ AddForeignKey("dbo.Clients","MedicalGroupId","dbo.MedicalGroups","Id"); CreateIndex("dbo.Clients","MedicalGroupId");} 7 ^/ r* s' N+ O) ^
解决方案:
/ \% _; C) f0 Q* m& R' J 我得到了我问题的解决方案。问题是我的客户表中有数据。因为我的客户表不现实medicalgroupid所以它在外键约束上给了我错误。
% G7 h$ ]5 P. ?/ D# e3 C# X* {Update Client set MedicalGroupId = NULL |
|
|
|
|
|