2

我对数据库中某些主键的命名有疑问。在我的开发系统上,主键约束被命名为PK_FullTableName. 现在在生产系统上,所有约束都被命名PK_PartofTableName_3214EC27164452B1(每个表都有不同的十六进制字符)。

我遇到的问题是迁移。我有一个基于代码的迁移,它应该更改表的主键,因此必须删除旧的约束/主键DropPrimaryKey("FullTableName", new[] { "Field1", "Field2" });

在我的开发系统上一切正常,在生产系统上我得到一个 SQL 异常,即PK_FullTableName找不到约束并且我无法迁移。

我不知道为什么实体框架在这两个系统上命名的约束不同。有谁知道这种行为取决于什么?这是来自 EF 还是来自数据库(MSSQLExpress)的命名?有没有解决方法?

4

0 回答 0