SmartCode 常见问题
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Documentação
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- csharp, handlebars, mysql, postgresql, sqlite
- Domínio
- documentation
Direção de pesquisa
Nenhum arquivo, teste ou ponto de entrada da documentação é especificado. Comece revisando a estrutura do repositório e o conteúdo das FAQ nesta issue para determinar onde isso deve ficar e se corresponde ao projeto atual; considera-se concluído quando as FAQ acordadas estiverem colocadas no local apropriado da documentação, com exemplos precisos e detalhes sobre os bancos de dados compatíveis.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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 等
- Linguagem predominante
- C#
- Estrelas
- 577
- Forks
- 167
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de dotnetcore/SmartCode
-
老是报conda错误 Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 15/100
dotnetcore/SmartCode#75 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
dotnetcore/SmartCode#74 ·
-
SmartCode 版本不一致 Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
dotnetcore/SmartCode#72 · 1 comentário ·
-
升级 SmartCode 到 .Net 新版本的一些想法 Aberta
dotnetcore/SmartCode#62 · 7 comentários · 3 responsáveis ·
-
Partial类建议 Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
dotnetcore/SmartCode#55 ·
Todas as issues de dotnetcore/SmartCode
Issues semelhantes
-
core dependencies
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 80/100
-
bug frontend good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
NavigationViewItemAutomationPeer implements IInvokeProvider but never advertises the Invoke pattern Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
unoplatform/uno#24629 ·
-
agentic-workflows Needs: Triage :mag: State: In-PR
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
Down / Waiting for removal
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100