SmartCode 常见问题
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 25/100
- Tipo di issue
- Documentazione
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- csharp, handlebars, mysql, postgresql, sqlite
- Ambito
- documentation
Direzione di ricerca
Non viene indicato alcun file, test o punto di ingresso della documentazione. Inizia esaminando la struttura del repository e il contenuto delle FAQ in questa issue per determinare dove inserirlo e se è coerente con il progetto corrente; il lavoro è completato quando le FAQ concordate sono collocate nella posizione appropriata della documentazione, con esempi accurati e dettagli sui database supportati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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 等
- Lingua principale
- C#
- Stelle
- 577
- Fork
- 167
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di dotnetcore/SmartCode
-
老是报conda错误 Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 15/100
dotnetcore/SmartCode#75 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
dotnetcore/SmartCode#74 ·
-
SmartCode 版本不一致 Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
dotnetcore/SmartCode#72 · 1 commento ·
-
升级 SmartCode 到 .Net 新版本的一些想法 Aperta
dotnetcore/SmartCode#62 · 7 commenti · 3 assegnatari ·
-
Partial类建议 Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
dotnetcore/SmartCode#55 ·
Tutte le issue di dotnetcore/SmartCode
Issue simili
-
bug frontend good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
NavigationViewItemAutomationPeer implements IInvokeProvider but never advertises the Invoke pattern Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
unoplatform/uno#24629 ·
-
agentic-workflows Needs: Triage :mag: State: In-PR
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
CS0162 "Unreachable code detected" warning from a MSBuildTemp .tmp file in every game project Apertabug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
-
Type: enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
apache/arrow-adbc#4809 ·