.NET MVC自增列的处理问题

baidu_33922879 2016-02-04 10:27:04
现在在做系统版本更新,从VB换成asp.net mvc。遇到了一个自增列处理的问题。

SQL的表结构里设置了一列【sequenceNo】,用来顺序存放新增数据的号。
MVC里用Entity插入数据的时候,如果数据库里的表是identity自增列的话,会自动交给SQL处理,插入正确的数字。

原来的表结构里有SequenceNo这一列,但是没有identity约束。如何在不改原来的表结构的情况下,实现自增的处理呢?

谢谢。


...全文
381 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_33922879 2016-02-04
  • 打赏
  • 举报
回复
说的不清楚,不好意思。 原来的数据表是 SeqNo 人名 地址 1001 王大虎 北京 1002 李磊 山东 1004 刘毅 山西 这样子的,虽然有SeqNo这个字段,但是不是identity的。 现在想在MVC里实现自增的功能,能插入"1005 陈二 上海" 这样的数据
xdashewan 2016-02-04
  • 打赏
  • 举报
回复
你这sequenceNo保存的是什么值,如果也是自增列,一张表两个自增列我真没看出有存在的必要
baidu_33922879 2016-02-04
  • 打赏
  • 举报
回复
谢谢大家,和领导商量,看看能不能加identity约束吧,这样最安全。
秋的红果实 2016-02-04
  • 打赏
  • 举报
回复
把原来SeqNo的数据都删了,再改为identity约束下,就自动会填充自增列的值
雨网科技 2016-02-04
  • 打赏
  • 举报
回复
肯定不行的,同时并发就完了,要么SeqNo是插入的guid永远不可能重复,要么SeqNo设置了主键,不过真的并发量大SeqNo设置了主键一直报错也不是个事,你要用数字那还是用自动增长吧
xdashewan 2016-02-04
  • 打赏
  • 举报
回复
这样的情况首选方式是把SeqNo设为自增并设置直接从最大的编号开始。可选方式是新建一张表只有一个SeqNo字段来维护最后的值。可选方式2,服务器启动时读取SeqNo最后值,保存在一static变量中,每次从static中直接获取SeqNo插入数据库。可选方案3这种方式经常被人用,但其实是这几个方案里最差的,就是insert的时候用max取最大编号,我是不推荐你这么做,但如果项目并发要求低,那么图个方便用用也无妨

62,051

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧