实体框架 SaveChanges 失败增量标识列

VAA*_*AAA 5 c# sql-server entity-framework

我有一个关于执行方法时实体框架行为的问题。SaveChanges

我有一个具有Identity Column 的实体,并且意识到,当我调用SaveChanges(用于新插入)并且失败时,我的数据库中的 Identity Column 会增加。

我曾经将 Identity 列值等于 7,并且我调试代码和SaveChanges方法失败了 5 次,因为我错过了插入所需的值,当它解决时,我注意到我的 Identity 列值现在是 13。

在此输入图像描述

这是正常行为吗?当实体框架无法提交到我的数据库时,有没有办法避免增加标识列值?

感谢任何帮助

Pav*_*tar 1

这是 Sql 的行为,而不是实体框架。如果您不想浪费身份,您应该查看 Dbreseed 命令并为您的表执行它。检查这个所以问题数据库上的 RESEED 身份列如果我是你我不会打扰。相反,只需使用 Bigint 数据类型作为标识列