【发布时间】:2019-11-22 09:19:05
【问题描述】:
使用 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工作室版。谁能想到更改 Visual Studio 版本会导致这种情况发生的任何方式?
【问题讨论】:
标签: sql-server visual-studio entity-framework