我已经发布了一个网络应用程序,它在 azure 上运行。我在我的计算机(本地主机)上测试的 Web 应用程序项目,然后在 Web 应用程序上测试。当我测试创建新行数据(例如 PersonTable 上的新人)时,它在我的本地主机上运行,但是当我测试发布的 Web 应用程序时,它会抛出此错误:
Cannot insert the value NULL into column 'ID_ANTEC_PERS', table 'Telejdb.dbo.ANTECEDENTES_PERSONALES'; column does not allow nulls. INSERT fails. The statement has been terminated.
该列 (ID_ANTEC_PERS) 是该表 (ANTECEDENTES_PERSONALES) 的 ID,但我将此列设置为我的 sql server DB 上的 Identity(1,1) 属性。当我在我的计算机(本地主机)上工作这个项目时,我没有遇到这个问题,我认为这是因为该项目知道该自动增量属性的顺序。但现在,一旦 Web 应用程序发布并在 azure 上运行,我想查看项目的代码,但我意识到它是在 .dll 文件上编译的,所以我无法编辑 Web 应用程序项目。有帮助吗?指导?建议?我将不胜感激。
提前致谢
最佳答案
检查表设计中的字段,然后检查表设计中的复选框,然后它允许在表中插入空值
id 应该是一个递增的值。
你需要设置这个,否则如果你有一个不可为空的列,没有默认值,如果你不提供任何值,就会出错。
在 SQL Server Management Studio 中设置自动增量:
Open your table in Design
Select your column and go to Column Properties
Under Indentity Specification, set (Is Identity)=Yes and Indentity Increment=1
在本地,如果您没有遇到此问题,则意味着您必须更新
azure database
关于c# - 无法将 NULL 值插入到列、表中;列不允许为空...但是该列是主键并且具有自动增量属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37894646/