自定义模块ID的自动增量

时间:2016-07-21 22:11:27

标签: kentico

我创建了一个名为" 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生成,因此我无法对其进行自定义。

1 个答案:

答案 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,
    };