实体框架ALTER TABLE语句与FOREIGN KEY约束冲突
技术问答
442 人阅读
|
0 人回复
|
2023-09-14
|
关于在Entity Framework在数据库更新中,首先代码迁移,出现此错误:
- y. e X7 l6 N# E" TALTER TABLE语句与FOREIGN KEY约束“
2 {# L2 L& r8 g( y2 J! `FK_dbo.Clients_dbo.MedicalGroups_MedicalGroupId冲突。数据库 hrbc”的表“; `. |; ?' |. e7 D( l
dbo.MedicalGroups”的列“ Id冲突发生在中间。* F: c) {/ y9 R6 b
这是我的课:
# A; P& U! Q$ w" Z& {: Zpublic 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; } }}这是我的二等班:, W- s) @2 `/ W+ `! X
public partial class MedicalGroups{ [Key] public int Id { get; set; public string Name { get; set; }}这是我想申请的迁移:: a/ P% D+ M" H5 C8 y9 i
public override void Up(){ AddForeignKey("dbo.Clients","MedicalGroupId","dbo.MedicalGroups","Id"); CreateIndex("dbo.Clients","MedicalGroupId");} ! a% {4 K) y8 `& K T( X# c
解决方案:
C0 j/ ` F2 A @( j 我得到了我问题的解决方案。问题是我的客户表中有数据。因为我的客户表不现实medicalgroupid所以它在外键约束上给了我错误。
$ K( k5 H* R3 y, xUpdate Client set MedicalGroupId = NULL |
|
|
|
|
|