我对执行 SaveChanges
方法时 Entity Framework 的行为有疑问。
我有一个实体,它有一个Identity Column,我意识到如果我调用SaveChanges
(对于新插入),它失败了,那么我的Identity Column在我的数据库中增加了。
我以前的 Identity 列值等于 7,我在调试我的代码时 SaveChanges
方法失败了 5 次,因为我没有插入所需的值,当它成功时我注意到我的身份列值现在是 13。
这是正常行为吗?当 Entity Framework 无法提交到我的数据库时,有没有办法避免增加标识列值?
感谢任何帮助
最佳答案
这是 Sql 的行为,而不是 Entity Framework。如果您不想浪费身份,您应该查看 Dbreseed 命令并为您的表执行它。检查这个所以问题 RESEED identity columns on the database如果我是你,我就不会打扰。相反,只需将 Bigint 数据类型用于标识列
关于c# - Entity Framework SaveChanges 失败增量标识列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26164651/