SmartCode 常见问题
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- csharp, handlebars, mysql, postgresql, sqlite
- Lĩnh vực
- documentation
Hướng nghiên cứu
Không có tệp, bài kiểm thử hoặc điểm bắt đầu của tài liệu nào được nêu rõ. Hãy bắt đầu bằng việc xem xét cấu trúc repository và nội dung FAQ trong issue này để xác định nội dung đó thuộc về đâu và liệu có phù hợp với dự án hiện tại hay không; công việc được xem là hoàn tất khi FAQ đã thống nhất được đặt tại vị trí tài liệu phù hợp, với các ví dụ chính xác và thông tin chi tiết về các cơ sở dữ liệu được hỗ trợ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
SmartCode 常见问题
SmartCode 能干什么?
SmartCode = IDataSource -> IBuildTask -> IOutput => Build Everything
SmartCode的执行流是 数据源->构建任务->输出,也就是说应用场景非常广泛。
- 从DB读取数据结构,最终生成整个解决方案=代码生成器(SmartCode.Generator)
- ETL,其实很显然SmartCode执行流跟ETL很像,做一些相应的扩展便可支持ETL(SmartCode.ETL)
- Mode First,从Model类结构解析出数据源,最终生成SQL脚本,执行生成DB结构,并生成整个解决方案
- 静态文档生成器
- 还有很多等待你去发掘
SmartCode 扩展性如何
SmartCode 插件机制拥有非常灵活的扩展能力,SmartCode 中一切都是插件。只要继承IPlugin接口即可,然后配置到appsettings.json,然后通过IPluginManager获取插件实例。
{
"Logging": {
"IncludeScopes": false,
"Console": {
"LogLevel": {
"Default": "Debug"
}
}
},
"SmartCode": {
"Version": "v1.7.0",
"Plugins": [
{
"Type": "SmartCode.IDataSource,SmartCode",
"ImplType": "SmartCode.Db.DbSource,SmartCode.Db"
},
{
"Type": "SmartCode.IBuildTask,SmartCode",
"ImplType": "SmartCode.App.BuildTasks.ClearBuildTask,SmartCode.App"
},
{
"Type": "SmartCode.IBuildTask,SmartCode",
"ImplType": "SmartCode.App.BuildTasks.MultiTemplateBuildTask,SmartCode.App"
},
{
"Type": "SmartCode.IBuildTask,SmartCode",
"ImplType": "SmartCode.Db.BuildTasks.BuildTask,SmartCode.Db"
},
{
"Type": "SmartCode.IBuildTask,SmartCode",
"ImplType": "SmartCode.Db.BuildTasks.ProjectBuildTask,SmartCode.Db"
},
{
"Type": "SmartCode.IOutput,SmartCode",
"ImplType": "SmartCode.App.Outputs.FileOutput,SmartCode.App"
},
{
"Type": "SmartCode.INamingConverter,SmartCode",
"ImplType": "SmartCode.Db.TableNamingConverter,SmartCode.Db"
},
{
"Type": "SmartCode.TemplateEngine.ITemplateEngine,SmartCode.TemplateEngine",
"ImplType": "SmartCode.TemplateEngine.Impl.HandlebarsTemplateEngine,SmartCode.TemplateEngine"
},
{
"Type": "SmartCode.TemplateEngine.ITemplateEngine,SmartCode.TemplateEngine",
"ImplType": "SmartCode.TemplateEngine.Impl.OfficialRazorTemplateEngine,SmartCode.TemplateEngine"
},
{
"Type": "SmartCode.Db.IDbTypeConverter,SmartCode.Db",
"ImplType": "SmartCode.Db.DbTypeConverter.DefaultDbTypeConverter,SmartCode.Db"
}
]
}
}
如何自定义模板
目前SmartCode支持俩种模板引擎 Razor & Handlebars 。
Razor 模板引擎使用的是官方版本,这一点上.NETer同学可以很轻松的自定义SmartCode模板,需要注意的是Razor模板的Model为BuildContext,具体方法可以参考源代码中的模板。编写完成之后放到RazorTemplates,构建时指定好即可。
代码生成器支持多少种数据库
SmartCode获取数据源结构使用的是SmartSql,所以SmartCode支持所有ADO.NET驱动相关的数据库:MySql/PostgreSql/SqlServer/Oracle/SQLite 等
- Ngôn ngữ chính
- C#
- Star
- 577
- Fork
- 167
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của dotnetcore/SmartCode
-
老是报conda错误 Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 15/100
dotnetcore/SmartCode#75 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
dotnetcore/SmartCode#74 ·
-
SmartCode 版本不一致 Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
dotnetcore/SmartCode#72 · 1 bình luận ·
-
升级 SmartCode 到 .Net 新版本的一些想法 Đang mở
dotnetcore/SmartCode#62 · 7 bình luận · 3 người được giao ·
-
Partial类建议 Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
dotnetcore/SmartCode#55 ·
Tất cả issue của dotnetcore/SmartCode
Issue tương tự
-
CS0162 "Unreachable code detected" warning from a MSBuildTemp .tmp file in every game project Đang mởbug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
-
Type: enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
apache/arrow-adbc#4809 ·
-
type/automation type/tech-debt
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
microsoft/vscode-azurefunctions#5197 · 1 bình luận ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
microsoft/microsoft-ui-reactor#1274 ·