Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

SmartCode 常见问题

Ouverte
#7 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
25/100
Type d'issue
Documentation
Clarté
À clarifier
Activité
À l'abandon
Stack technique
csharp, handlebars, mysql, postgresql, sqlite
Domaine
documentation

Piste de recherche

Aucun fichier, test ou point d’entrée de la documentation n’est indiqué. Commencez par examiner la structure du dépôt et le contenu de la FAQ dans cette issue afin de déterminer où cela doit être placé et si cela correspond au projet actuel ; le travail est terminé lorsque la FAQ convenue est placée au bon endroit dans la documentation, avec des exemples exacts et les détails des bases de données prises en charge.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

notice

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.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 等

Langage dominant
C#
Étoiles
577
Forks
167
Métriques de merge des PR
Aucune PR mergée en 30 j

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de dotnetcore/SmartCode

Toutes les issues de dotnetcore/SmartCode

Issues similaires

Plus d'issues C#

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.