好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

执行SaveChanges方法时,我对实体框架的行为有疑问.

我有一个具有标识列的实体,并且只是意识到如果我调用SaveChanges(对于新插入),并且它失败,那么我的DB中的标识列会增加.

我以前的Identity列值等于7,我调试我的代码和SaveChanges方法失败了5次,因为我错过了插入一个必需的值,当它解决了我发现我的身份列值现在是13.

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

感谢任何帮助

这是Sql的行为,而不是实体框架.你应该看看Dbreseed命令并为你的表执行它,如果你不想让身份被浪费.检查这个问题 RESEED identity columns on the database如果我是你我就不会烦恼.而不仅仅是使用Bigint数据类型作为标识列

查看更多关于c# – 实体框架SaveChanges失败增量标识列的详细内容...

  阅读:43次