尝试插入具有自动递增ID的实体会使实体框架核心处于一个时髦的状态



我想我在SQL Server上做单元测试时遇到了一个有趣的问题。我的表被设置为级联删除。

我有一个父表,我插入了一行。一切都很顺利。

现在,我特意在子表中插入了一个实体,列Id的值为父Id,外键为父Id。插入失败,错误

当IDENTITY_INSERT设置为OFF时,不能在表'XXXXX'中插入标识列的显式值

在那一刻,事情变得更糟了。

我试图删除父行。SQL Server对我大喊,我仍然不能插入到子表,而IDENTITY_INSERT是关闭的。与无效插入相同的错误。我推测级联删除正在启动,但由于我没有成功地在父PK的子表中插入一行,因此应该没有问题。

以前有人遇到过这样的问题吗?

我会接受@IvanStoev的回答。这是一个数据库上下文问题。我对两个操作使用相同的上下文,实体仍然在缓存中。实体框架试图在删除实体之前添加实体。

最新更新