代码生成
代码生成是本工具提供的核心功能之一,它能够帮助开发者快速生成高效简洁的模板化的代码,减少重复劳动,提高开发效率。
对于最常见的对某个实体进行数据操作的场景,代码生成器可以自动生成对应的增、删、改、查相关的模板代码,以下将具体介绍生成的内容和规则。
支持方式:Studio和MCP
DTO生成
根据实体类生成DTO类,通常包括:
| Dto | 作用 |
|---|---|
| ItemDto | 列表元素 |
| DetailDto | 某实体的详情 |
| FilterDto | 请求筛选条件模型 |
| AddDto | 添加时的模型 |
| UpdateDto | 更新时的模型 |
DTO将生成在对应模块的
DTO生成规则
DTO全局忽略以下属性:
- 属性含有[JsonIgnore]特性时
- 属性类型为
JsonDocument或byte[]时
对于每种DTO,会根据具体的使用场景进行属性的筛选和处理,具体规则如下:
ItemDto
列表元素不会包括以下属性:
- IsDeleted与UpdatedTime字段,但会包含CreatedTime
- 数组或列表
- 长度大于200的字符串
- 导航属性及对应Id
DetailDto
详情Dto不包含以下属性:
- IsDeleted
- 列表和导航属性
JsonDocument与byte[]类型的属性
FilterDto
FilterDto生成内容如下:
- 忽略 "Id", "CreatedTime", "UpdatedTime", "IsDeleted"等基础属性
- 忽略列表及导航属性
- 忽略最大长度在于1000的字符串属性
- 保留必需属性(但不为导航属性)
- 包括枚举属性
AddDto
添加模型生成内容如下:
- 忽略 "Id", "CreatedTime", "UpdatedTime", "IsDeleted"等基础属性
- 必须是可赋值的属性,即有
set方法。 - 对于导航属性,会进行以下处理:
- 忽略非必需的导航属性
- 忽略列表导航属性
- 对于必需的导航属性,会生成
属性名+Id的形式来表示
UpdateDto
更新模型生成内容同添加模型,但是更新模型所有属性默认都为可空属性。
可空属性,意味着,如果该字段为空,更新时,会忽略该字段,以此来实现部分更新。