实体框架ALTER TABLE语句与FOREIGN KEY约束冲突
技术问答
144 人阅读
|
0 人回复
|
2023-09-14
|
关于在Entity Framework在数据库更新中,首先代码迁移,出现此错误:- e8 R: T( L- c X0 N+ w5 O# l
ALTER TABLE语句与FOREIGN KEY约束“, h2 L/ l% `; `6 B0 C
FK_dbo.Clients_dbo.MedicalGroups_MedicalGroupId冲突。数据库 hrbc”的表“
5 {) t/ O3 j3 Gdbo.MedicalGroups”的列“ Id冲突发生在中间。
% @ _- o4 L% \. p% q这是我的课:
& [ ]" M' J- v0 U1 ]: s( l# P/ Wpublic 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; } }}这是我的二等班:
8 w, A1 {6 l% hpublic partial class MedicalGroups{ [Key] public int Id { get; set; public string Name { get; set; }}这是我想申请的迁移:
5 d2 W7 }3 Q% Y3 ?public override void Up(){ AddForeignKey("dbo.Clients","MedicalGroupId","dbo.MedicalGroups","Id"); CreateIndex("dbo.Clients","MedicalGroupId");}
& w3 l( \, B& Q& T 解决方案: - c5 O M5 f. q, q
我得到了我问题的解决方案。问题是我的客户表中有数据。因为我的客户表不现实medicalgroupid所以它在外键约束上给了我错误。
n, W; p4 P. }+ M3 ^. N# m+ pUpdate Client set MedicalGroupId = NULL |
|
|
|
|
|