- 已关闭。**此问题需要debugging details。当前不接受答案。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
昨天关门了。
Improve this question
我正在做一个ASP.NET项目,通过一个选择过程来构建计算机。
我在确认页面,无法将计算机变量保存到计算机表中。
我得到这个错误
SQL异常:无法将值NULL插入到表"aspnet-ComputerCreator_1 - 20221213060141.dbo.Computers"的列"ID"中;列不允许空值。INSERT失败。
我刚刚使用了一个ASP.NET应用程序,不需要指定记录到数据库中的变量的ID。
我想知道是否有人有过类似的经历,可以为我提供一些潜在的解决方案。大部分应用功能都可以在X11M0N1X中找到。
github页面的链接:https://github.com/hhuumm/ComputerCreator_Net
我试过改变控制器的值,你可以在git页面看到我用了多个代码优先的迁移来尝试调整我的数据库添加标识,尝试让它为空,我甚至有一个用户与我完全取消的模型相关联。如果解决方案允许的话,我可能会把它恢复过来,但现在我只想能够保存一个计算机的想法到数据库。
1条答案
按热度按时间tzdcorbm1#
这已经有一个相当广泛的覆盖面的答案,对SO:
Cannot insert the value NULL into column 'id', even though Column has IDENTITY property
SQL insert error: Cannot insert the value NULL into column 'Id'
https://learn.microsoft.com/en-us/answers/questions/1032989/cannot-insert-the-value-null-into-column-and-colum.html
确保你的模型ID属性不能为空(int?),并且在Map中设置了标识。另外,你不需要在创建计算机对象时放置ID,因为它是IDENTITY,数据库会以更有效的方式为你做这件事。