SmartCode 使用常见问题
SmartCode 常見問題
SmartCode 能干什么?
SmartCode = IDataSource -> IBuildTask -> IOutput => Build Everything
SmartCode的執(zhí)行流是 數(shù)據(jù)源->構(gòu)建任務(wù)->輸出,也就是說應(yīng)用場(chǎng)景非常廣泛。
SmartCode 擴(kuò)展性如何
SmartCode 插件機(jī)制擁有非常靈活的擴(kuò)展能力,SmartCode 中一切都是插件。只要繼承IPlugin接口即可,然后配置到appsettings.json,然后通過IPluginManager獲取插件實(shí)例。
{"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 模板引擎使用的是官方版本,這一點(diǎn)上.NETer同學(xué)可以很輕松的自定義SmartCode模板,需要注意的是Razor模板的Model為BuildContext,具體方法可以參考源代碼中的模板。編寫完成之后放到RazorTemplates,構(gòu)建時(shí)指定好即可。
代碼生成器支持多少種數(shù)據(jù)庫(kù)
SmartCode獲取數(shù)據(jù)源結(jié)構(gòu)使用的是SmartSql,所以SmartCode支持所有ADO.NET驅(qū)動(dòng)相關(guān)的數(shù)據(jù)庫(kù):MySql/PostgreSql/SqlServer/Oracle/SQLite 等
轉(zhuǎn)載于:https://www.cnblogs.com/Ahoo-Wang/p/SmartCode-common-problem.html
總結(jié)
以上是生活随笔為你收集整理的SmartCode 使用常见问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: web异步开发——json
- 下一篇: 探偵ガリレオーくさる3