ALTER TABLE语句与FOREIGN KEY约束冲突

巴里MSIH

运行以下迁移时,出现以下错误:

ALTER TABLE语句与FOREIGN KEY约束冲突

我有一个现有的数据库,并将模型重构为包含导航属性。

查看原始模型,然后查看新模型:

原始模型:

public class Student
{
    public int ID { get; set; }
    public string Name { get; set; }
    public string Country { get; set; }
}

新模型:

public class Student
{
     public int ID { get; set; }
     public string Name { get; set; }
     public int CountryID { get; set; }
     public virtual Country Country { get; set; }
}

public class Country 
{
     public int ID { get; set; }            
     public string Country { get; set; }
}

Add-Migration 导航属性:

public override void Up()
{
            CreateTable(
                "dbo.Countries",
                c => new
                    {
                        ID = c.Int(nullable: false, identity: true),
                        CountryName = c.String(),
                    })
                .PrimaryKey(t => t.ID);

            AddColumn("dbo.Students", "CountryID", c => c.Int(nullable: false));
            CreateIndex("dbo.Students", "CountryID");
            AddForeignKey("dbo.Students", "CountryID", "dbo.Countries", "ID", cascadeDelete: true);
            DropColumn("dbo.Students", "Country");
}

Update-Database 错误:

System.Data.SqlClient.SqlException(0x80131904):ALTER TABLE语句与FOREIGN KEY约束“ FK_dbo.Students_dbo.Countries_CountryID”冲突。数据库“ aspnet-navprop-20141009041805”的表“ dbo.Countries”的列“ ID”中发生了冲突。

默西·塞默西

我遇到了同样的问题,我的表中有数据,因此我将外键列更改为可为空。

AddColumn("dbo.Students", "CountryID", c => c.Int(nullable: true));

您应该像这样更改代码,然后再次运行Update-Database -Verbose

public override void Up()
{
            CreateTable(
                "dbo.Countries",
                c => new
                    {
                        ID = c.Int(nullable: false, identity: true),
                        CountryName = c.String(),
                    })
                .PrimaryKey(t => t.ID);

            AddColumn("dbo.Students", "CountryID", c => c.Int(nullable: true));
            CreateIndex("dbo.Students", "CountryID");
            AddForeignKey("dbo.Students", "CountryID", "dbo.Countries", "ID", cascadeDelete: true);
            DropColumn("dbo.Students", "Country");
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

INSERT语句与FOREIGN KEY约束错误冲突

来自分类Dev

INSERT语句与FOREIGN KEY SAME TABLE约束冲突

来自分类Dev

Insert语句与FOREIGN KEY约束冲突。实体框架

来自分类Dev

MYSQL:基于SELECT结果的ALTER TABLE DROP FOREIGN KEY

来自分类Dev

UPDATE语句与ASP.NET MVC4中的FOREIGN KEY约束冲突

来自分类Dev

EF代码优先INSERT语句与FOREIGN KEY约束冲突

来自分类Dev

插入为NULL时,“ INSERT语句与FOREIGN KEY约束冲突”

来自分类Dev

UPDATE语句与FOREIGN KEY约束冲突

来自分类Dev

与EF6中现有表的一对多关系:ALTER TABLE语句与FOREIGN KEY约束冲突

来自分类Dev

EF6:复合主键字段作为外键(ALTER TABLE语句与FOREIGN KEY约束冲突)

来自分类Dev

EF 7:INSERT语句与FOREIGN KEY SAME TABLE冲突

来自分类Dev

INSERT语句与Entity Framework Core中的FOREIGN KEY约束冲突

来自分类Dev

与FOREIGN KEY约束冲突

来自分类Dev

INSERT语句与FOREIGN KEY约束“ FK __...”冲突

来自分类Dev

我的INSERT语句与FOREIGN KEY约束冲突

来自分类Dev

EF迁移:ALTER TABLE语句与FOREIGN KEY约束冲突

来自分类Dev

EF代码优先INSERT语句与FOREIGN KEY约束冲突

来自分类Dev

INSERT语句与FOREIGN KEY约束发生冲突2

来自分类Dev

插入为NULL时,“ INSERT语句与FOREIGN KEY约束冲突”

来自分类Dev

INSERT语句与FOREIGN KEY约束冲突

来自分类Dev

INSERT语句与FOREIGN KEY约束冲突”

来自分类Dev

INSERT语句与Entity Framework Core中的FOREIGN KEY约束冲突

来自分类Dev

INSERT语句与FOREIGN KEY约束冲突

来自分类Dev

与FOREIGN KEY约束冲突

来自分类Dev

C#,SQL Server:INSERT语句与FOREIGN KEY约束冲突

来自分类Dev

INSERT语句与FOREIGN KEY约束冲突

来自分类Dev

ORM实体框架INSERT语句与FOREIGN KEY约束异常冲突

来自分类Dev

命令执行异常:INSERT 语句与 FOREIGN KEY 约束冲突

来自分类Dev

如何修复:UPDATE 语句与 FOREIGN KEY SAME TABLE 约束冲突

Related 相关文章

  1. 1

    INSERT语句与FOREIGN KEY约束错误冲突

  2. 2

    INSERT语句与FOREIGN KEY SAME TABLE约束冲突

  3. 3

    Insert语句与FOREIGN KEY约束冲突。实体框架

  4. 4

    MYSQL:基于SELECT结果的ALTER TABLE DROP FOREIGN KEY

  5. 5

    UPDATE语句与ASP.NET MVC4中的FOREIGN KEY约束冲突

  6. 6

    EF代码优先INSERT语句与FOREIGN KEY约束冲突

  7. 7

    插入为NULL时,“ INSERT语句与FOREIGN KEY约束冲突”

  8. 8

    UPDATE语句与FOREIGN KEY约束冲突

  9. 9

    与EF6中现有表的一对多关系:ALTER TABLE语句与FOREIGN KEY约束冲突

  10. 10

    EF6:复合主键字段作为外键(ALTER TABLE语句与FOREIGN KEY约束冲突)

  11. 11

    EF 7:INSERT语句与FOREIGN KEY SAME TABLE冲突

  12. 12

    INSERT语句与Entity Framework Core中的FOREIGN KEY约束冲突

  13. 13

    与FOREIGN KEY约束冲突

  14. 14

    INSERT语句与FOREIGN KEY约束“ FK __...”冲突

  15. 15

    我的INSERT语句与FOREIGN KEY约束冲突

  16. 16

    EF迁移:ALTER TABLE语句与FOREIGN KEY约束冲突

  17. 17

    EF代码优先INSERT语句与FOREIGN KEY约束冲突

  18. 18

    INSERT语句与FOREIGN KEY约束发生冲突2

  19. 19

    插入为NULL时,“ INSERT语句与FOREIGN KEY约束冲突”

  20. 20

    INSERT语句与FOREIGN KEY约束冲突

  21. 21

    INSERT语句与FOREIGN KEY约束冲突”

  22. 22

    INSERT语句与Entity Framework Core中的FOREIGN KEY约束冲突

  23. 23

    INSERT语句与FOREIGN KEY约束冲突

  24. 24

    与FOREIGN KEY约束冲突

  25. 25

    C#,SQL Server:INSERT语句与FOREIGN KEY约束冲突

  26. 26

    INSERT语句与FOREIGN KEY约束冲突

  27. 27

    ORM实体框架INSERT语句与FOREIGN KEY约束异常冲突

  28. 28

    命令执行异常:INSERT 语句与 FOREIGN KEY 约束冲突

  29. 29

    如何修复:UPDATE 语句与 FOREIGN KEY SAME TABLE 约束冲突

热门标签

归档