都说数据库的设计是整个MVC项目中的重中之重,可谁又可以说他第一次设计数据库就可以达到非常完美的状态,没有。那么就要面临着修改的局面。而我在做MVC项目时实施的方案是先把数据库设计出来,数据库的设计,我对自己的要求是能够有清晰的业务流程就够了,至于理想中的完美状态,只有在做的过程中才能体现出数据库设计的问题与不足。而我也清楚的认识到我的方案对于我自己来说是可以的,只是在修改的过程中比较麻烦,LINQ中的查询语句,新增语句,修改语句都要随之而改变。刚开始是比较麻烦,但这也是学习和积累的过程,为下一次做项目设计数据库打下了基础。
而我最近遇到一个问题,在数据新增的时候,出现了数据异常的错误。
按照常规操作这应该是可以的执行的代码,仔细检查了一下代码,发现这并没有错,而错误就是在if (myModel.SaveChanges()>0)跳到数据异常的。
检查了一下,发现页面传递过来的数据,表的“主键ID”为0,这就有点奇怪了,通常是是没有获取到传递过来的数据为null,为0是什么意思?
在页面时它是获取到了数据,在控制器时也是获取到了数据,可问题是它还是出现数据异常的错误,而且数据并未添加到数据库中。
其实这是我突然想到的,能否通过页面输入ID的值来添加,就好比一个表没有主键ID不会自增一样,我自己添加。
问题的解决方法就是给这个表设置主键,
在设置完主键后一定不要忘了标识规范改为“是”。