我创建了一个名为" Hospital"对于高级开发人员课程项目。在其中,我创建了一个名为" Doctor"使用DoctorID,DoctorName,DoctorEmail,DoctorSpecialty
当我尝试通过模块制作新的Doctor记录时,我发现了SQL错误。
Cannot insert the value NULL into column 'DoctorID', table 'Hospital.dbo.Hospital_Doctor'; column does not allow nulls.
数据库是否应该自动设置为自动递增?或者我错过了一步。 DoctorID列由CMS生成,因此我无法对其进行自定义。
答案 0 :(得分:0)
是的,系统应自动生成ID。我尝试再次创建自定义类,可能在安装过程中出错了。
如果要调试该问题,可以尝试启用SQL事件探查器以查看执行的SQL查询。如果您没有足够的许可证来运行探查器,请尝试使用内置的Kentico SQL debug。
您还可以检查Info / InfoProvider类代码文件,以查看是否正确设置了类。专注于TypeInfo对象,例如在下面的示例中, OfficeID 字段设置为自动增量:
/// <summary>
/// Type information.
/// </summary>
#warning "You will need to configure the type info."
public static ObjectTypeInfo TYPEINFO = new ObjectTypeInfo(typeof(OfficeInfoProvider), OBJECT_TYPE, "OfficeOverview.Office", "OfficeID", "OfficeLastModified", "OfficeGuid", "OfficeName", "OfficeDisplayName", null, null, null, null)
{
ModuleName = "OfficeOverview",
TouchCacheDependencies = true,
};