数据库表主键未设置引发的数据异常

爱恰鸡米花 2019-07-18 09:11:13
都说数据库的设计是整个MVC项目中的重中之重,可谁又可以说他第一次设计数据库就可以达到非常完美的状态,没有。那么就要面临着修改的局面。而我在做MVC项目时实施的方案是先把数据库设计出来,数据库的设计,我对自己的要求是能够有清晰的业务流程就够了,至于理想中的完美状态,只有在做的过程中才能体现出数据库设计的问题与不足。而我也清楚的认识到我的方案对于我自己来说是可以的,只是在修改的过程中比较麻烦,LINQ中的查询语句,新增语句,修改语句都要随之而改变。刚开始是比较麻烦,但这也是学习和积累的过程,为下一次做项目设计数据库打下了基础。
而我最近遇到一个问题,在数据新增的时候,出现了数据异常的错误。


按照常规操作这应该是可以的执行的代码,仔细检查了一下代码,发现这并没有错,而错误就是在if (myModel.SaveChanges()>0)跳到数据异常的。

检查了一下,发现页面传递过来的数据,表的“主键ID”为0,这就有点奇怪了,通常是是没有获取到传递过来的数据为null,为0是什么意思?


在页面时它是获取到了数据,在控制器时也是获取到了数据,可问题是它还是出现数据异常的错误,而且数据并未添加到数据库中。

其实这是我突然想到的,能否通过页面输入ID的值来添加,就好比一个表没有主键ID不会自增一样,我自己添加。

问题的解决方法就是给这个表设置主键,

在设置完主键后一定不要忘了标识规范改为“是”。


...全文
57 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

488

社区成员

发帖
与我相关
我的任务
社区描述
硬件使用 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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