SmartCode 使用常见问题
生活随笔
收集整理的這篇文章主要介紹了
SmartCode 使用常见问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SmartCode 常見問題
SmartCode 能干什么?
SmartCode = IDataSource -> IBuildTask -> IOutput => Build Everything
SmartCode的執行流是 數據源->構建任務->輸出,也就是說應用場景非常廣泛。
SmartCode 擴展性如何
SmartCode 插件機制擁有非常靈活的擴展能力,SmartCode 中一切都是插件。只要繼承IPlugin接口即可,然后配置到appsettings.json,然后通過IPluginManager獲取插件實例。
{"Logging": {"IncludeScopes": false,"Console": {"LogLevel": {"Default": "Debug"}}},"SmartCode": {"Version": "v1.16.0","Plugins": [{"Type": "SmartCode.IDataSource,SmartCode","ImplType": "SmartCode.NoneDataSource,SmartCode"},{"Type": "SmartCode.IBuildTask,SmartCode","ImplType": "SmartCode.App.BuildTasks.ClearBuildTask,SmartCode.App"},{"Type": "SmartCode.IBuildTask,SmartCode","ImplType": "SmartCode.App.BuildTasks.ProjectBuildTask,SmartCode.App"},{"Type": "SmartCode.IBuildTask,SmartCode","ImplType": "SmartCode.App.BuildTasks.MultiTemplateBuildTask,SmartCode.App"},{"Type": "SmartCode.IBuildTask,SmartCode","ImplType": "SmartCode.App.BuildTasks.ProcessBuildTask,SmartCode.App"},{"Type": "SmartCode.IOutput,SmartCode","ImplType": "SmartCode.App.Outputs.FileOutput,SmartCode.App"},{"Type": "SmartCode.IDataSource,SmartCode","ImplType": "SmartCode.Generator.DbTableSource,SmartCode.Generator"},{"Type": "SmartCode.IBuildTask,SmartCode","ImplType": "SmartCode.Generator.BuildTasks.TableBuildTask,SmartCode.Generator"},{"Type": "SmartCode.INamingConverter,SmartCode","ImplType": "SmartCode.Generator.TableNamingConverter,SmartCode.Generator"},{"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.Generator.IDbTypeConverter,SmartCode.Generator","ImplType": "SmartCode.Generator.DbTypeConverter.DefaultDbTypeConverter,SmartCode.Generator"},{"Type": "SmartCode.IDataSource,SmartCode","ImplType": "SmartCode.ETL.ExtractDataSource,SmartCode.ETL"},{"Type": "SmartCode.IBuildTask,SmartCode","ImplType": "SmartCode.ETL.BuildTasks.TransformBuildTask,SmartCode.ETL"},{"Type": "SmartCode.ETL.ITransformEngine,SmartCode.ETL","ImplType": "SmartCode.ETL.TransformEngine.RazorTransformEngine,SmartCode.ETL"},{"Type": "SmartCode.IBuildTask,SmartCode","ImplType": "SmartCode.ETL.BuildTasks.LoadBuildTask,SmartCode.ETL"},{"Type": "SmartCode.ETL.IETLRepository,SmartCode.ETL","ImplType": "SmartCode.ETL.NoneETLRepository,SmartCode.ETL"},{"Type": "SmartCode.ETL.IETLRepository,SmartCode.ETL","ImplType": "SmartCode.ETL.PostgreSql.PGETLRepository,SmartCode.ETL.PostgreSql","Paramters": {"ConnectionString": "Server=localhost;Port=5432;User Id=postgres;Password=SmartSql; Database=smartcode_etl;"}}]} }如何自定義模板
目前SmartCode支持倆種模板引擎 Razor & Handlebars 。
Razor 模板引擎使用的是官方版本,這一點上.NETer同學可以很輕松的自定義SmartCode模板,需要注意的是Razor模板的Model為BuildContext,具體方法可以參考源代碼中的模板。編寫完成之后放到RazorTemplates,構建時指定好即可。
代碼生成器支持多少種數據庫
SmartCode獲取數據源結構使用的是SmartSql,所以SmartCode支持所有ADO.NET驅動相關的數據庫:MySql/PostgreSql/SqlServer/Oracle/SQLite 等
轉載于:https://www.cnblogs.com/Ahoo-Wang/p/SmartCode-common-problem.html
總結
以上是生活随笔為你收集整理的SmartCode 使用常见问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: web异步开发——json
- 下一篇: 探偵ガリレオーくさる3