SmartCode 常见问题

SmartCode 能干什么?

SmartCode = IDataSource -> IBuildTask -> IOutput => Build Everything

SmartCode的执行流是 数据源->构建任务->输出,也就是说应用场景非常广泛。

  1. 从DB读取数据结构,最终生成整个解决方案=代码生成器(SmartCode.Generator)

  2. ETL,其实很显然SmartCode执行流跟ETL很像,做一些相应的扩展便可支持ETL(SmartCode.ETL)

  3. Mode First,从Model类结构解析出数据源,最终生成SQL脚本,执行生成DB结构,并生成整个解决方案

  4. 静态文档生成器

  5. 还有很多等待你去发掘

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

 
 

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\]和引用\[2\]的内容,安装SmartCode IDE需要满足以下条件: 1. 电脑中需要安装JRE 11或更高版本。 2. 如果没有安装任何的JDK或JRE,可以在安装SmartCode软件时勾选上安装“AdoptOpenJDK”的选项,或者自行下载最新版本的JDK/JRE进行安装。 以下是SmartCode IDE的安装教程: 1. 下载SmartCode IDE安装程序。 2. 运行安装程序,并按照提示进行安装。 3. 在安装过程中,如果没有安装JDK或JRE,可以选择安装“AdoptOpenJDK”选项,或者自行下载最新版本的JDK/JRE进行安装。 4. 安装完成后,打开SmartCode IDE。 5. 如果在未联网状态下安装,需要手动选择“Node-Locked client based license”,并将邮件中的许可证内容复制到相应的方框中。然后点击“Next”按钮进行下一步。 请注意,以上是SmartCode IDE的一般安装教程,具体步骤可能会因版本和操作系统而有所不同。建议在安装过程中参考安装程序提供的具体指导。 #### 引用[.reference_title] - *1* *2* *3* [Tasking6.3 for Tricore编译器下载安装使用试用](https://blog.csdn.net/wanglequshuijiao/article/details/128713733)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值