基于模板的智能代码生成工具,支持多数据库和自定义模板。
- 多数据库支持: MySQL、SQL Server、PostgreSQL、SQLite
- 智能模板引擎: 基于Razor模板引擎,支持自定义模板
- 现代化前端: Vue 3 + TypeScript + Element Plus
- RESTful API: ASP.NET Core Web API
- 实时通信: SignalR支持
- 批量操作: 支持批量代码生成
- 可扩展架构: 模块化设计,易于扩展
代码生成器/
├── src/ # 源代码
│ ├── CodeGenerator.Core/ # 核心业务逻辑
│ ├── CodeGenerator.Web/ # Web API
│ └── CodeGenerator.Console/ # 命令行工具
├── web/ # Vue 3前端
├── templates/ # 代码模板
├── config/ # 配置文件
└── docs/ # 文档
- .NET 8 / .NET Standard 2.0
- ASP.NET Core Web API
- Entity Framework Core
- Razor模板引擎
- SignalR
- Serilog
- Vue 3
- TypeScript
- Vite
- Element Plus
- Pinia
- Vue Router
- MySQL
- SQL Server
- PostgreSQL
- SQLite
- .NET 8.0 SDK
- Node.js 18+
- 支持的数据库之一
git clone <repository-url>
cd 代码生成器dotnet restorecd web
npm install编辑 config/database.json 文件,配置你的数据库连接信息。
# 启动后端API
dotnet run --project src/CodeGenerator.Web
# 启动前端(新终端)
cd web
npm run devdotnet run --project src/CodeGenerator.Console -- --help- 连接数据库: 在数据库管理页面配置数据库连接
- 选择表格: 浏览并选择要生成代码的表格
- 选择模板: 选择适合的代码模板
- 生成代码: 执行代码生成并下载结果
# 生成单个表的代码
dotnet run --project src/CodeGenerator.Console -- --table Users --template Entity
# 批量生成所有表
dotnet run --project src/CodeGenerator.Console -- --all --output ./Generated
# 指定配置文件
dotnet run --project src/CodeGenerator.Console -- --config ./custom-config.json- 在
templates/目录下创建新的模板文件 - 使用Razor语法编写模板
- 在
config/templates.json中注册模板
using System;
using System.ComponentModel.DataAnnotations;
namespace {{Namespace}}.Models
{
/// <summary>
/// {{TableComment}}
/// </summary>
public class {{EntityName}}
{
@foreach(var field in Fields)
{
/// <summary>
/// {{field.Comment}}
/// </summary>
public {{field.CSharpType}} {{field.PropertyName}} { get; set; }
}
}
}- 实体类: 数据模型类
- 服务类: 业务逻辑服务
- 仓储类: 数据访问层
- 控制器: Web API控制器
- DTO: 数据传输对象
- 前端组件: Vue.js组件
- TypeScript类型: 类型定义
{
"connections": [
{
"name": "默认连接",
"type": "MySQL",
"host": "localhost",
"port": 3306,
"database": "test",
"username": "root",
"password": ""
}
]
}{
"project": {
"name": "MyProject",
"namespace": "MyProject",
"outputPath": "./Generated",
"author": "开发者"
}
}# 运行所有测试
dotnet test
# 运行特定测试项目
dotnet test tests/CodeGenerator.Core.Testsdotnet publish src/CodeGenerator.Web -c Release -o ./publishdotnet publish src/CodeGenerator.Console -c Release -r win-x64 --self-contained- Fork 项目
- 创建功能分支 (
git checkout -b feature/new-feature) - 提交更改 (
git commit -am 'Add new feature') - 推送到分支 (
git push origin feature/new-feature) - 创建 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
- 项目主页: [GitHub Repository]
- 问题反馈: [Issues]
- 技术讨论: [Discussions]
感谢所有为这个项目做出贡献的开发者!
⭐ 如果这个项目对你有帮助,请给个Star支持一下!