加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 22:08:43 所属栏目:百科 来源:网络整理
导读:执行SaveChanges方法时,我对实体框架的行为有疑问. 我有一个具有标识列的实体,并且只是意识到如果我调用SaveChanges(对于新插入),并且它失败,那么我的DB中的标识列会增加. 我以前的Identity列值等于7,我调试我的代码和SaveChanges方法失败了5次,因为我错过了
执行SaveChanges方法时,我对实体框架的行为有疑问.

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

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

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

感谢任何帮助

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读