标识插入在Visual Studio升级后不起作用

时间:2019-11-22 09:19:05

标签: sql-server visual-studio entity-framework

使用SQL Server 2017和Entityframework.dll / EntityframeworkSqlServer.dll版本6.0.0.0,使用以下代码绝对可以正常运行:

using (var transaction = connect.Database.BeginTransaction())
{
    connect.Database.ExecuteSqlCommand("SET IDENTITY_INSERT [dbo].[Consignment] ON");
    connect.SaveChanges();
    connect.Database.ExecuteSqlCommand("SET IDENTITY_INSERT [dbo].[Consignment] OFF");
    transaction.Commit();
}

从那时起,我将Visual Studio升级到版本16.3.10(最新版本),今天,在运行SaveChanges()时,出现以下错误:

当IDENTITY_INSERT设置为ON或将复制用户插入到NOT FOR REPLICATION身份列中时,必须为表中的身份列指定

显式值。

我已经仔细检查了是否已提供标识列的值(整数),可以在SSMS中运行SQL命令,据我所知,自昨天以来唯一发生变化的是Visual Studio版本。谁能想到以任何方式更改Visual Studio版本都会导致这种情况发生?

1 个答案:

答案 0 :(得分:0)

该解决方案与Visual Studio版本无关-就是根据这篇帖子-https://stackoverflow.com/a/49126424/1649135