回答

收藏

实体框架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
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则