Kentico 13 .NET Core环境下表单Fields选项卡缺失及字段修改求助
Kentico 13 .NET Core 表单数据库字段修改指南
1. 找到表单字段的管理入口
Kentico 13 .NET Core 取消了旧版单独的「Fields」板块,相关功能整合到了两个核心区域:
- 登录后台后,进入 Content management → Forms,找到目标表单并点击进入,切换到 Form builder 标签页可管理前台展示的表单字段;若要直接修改数据库表的字段结构(比如调整数据类型),需前往模块定义操作。
2. 通过后台界面修改数据库字段
- 进入 Configuration → Modules,找到「Forms」模块并点击进入。
- 左侧菜单选择 Classes,这里的每个类对应一个表单的数据库表(表单创建时会自动生成同名类,例如表单名为「ContactUs」,类名即为「ContactUs」)。
- 点击目标类进入字段管理界面:
- 新增自定义字段:点击「New field」,填写字段名称,数据类型选择「Integer」,保存后Kentico会自动将该字段同步至数据库表。
- 修改现有字段数据类型:找到需调整的字段,点击编辑按钮,将数据类型改为「Integer」即可。注意:若字段已存有数据,需确保所有数据可转换为int类型,否则保存时会报错。保存完成后,数据库表结构会自动更新。
3. 代码优先模式下的操作(针对代码优先开发场景)
如果项目采用代码优先模式,直接修改项目内的表单模型即可:
- 找到表单对应的模型类(通常位于
Models/Forms目录下)。 - 添加新的int类型字段:
[DatabaseField] public int CustomIntField { get; set; } - 修改现有字段类型:将原字段类型(如string)替换为int,需保证已有数据兼容转换。
- 运行EF Core迁移命令更新数据库:
dotnet ef migrations add UpdateFormTableFields dotnet ef database update
注意事项
- 修改字段类型前务必备份数据库,避免数据丢失。
- 若字段已有非int类型数据,需先清理或转换数据,否则数据库更新会失败。
- 后台界面修改后Kentico会自动处理数据库迁移;代码优先模式需手动执行迁移命令。
内容的提问来源于stack exchange,提问作者chamara
相关产品推荐
相关产品推荐

