SmartCode 常见问题
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Dokumentation
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- csharp, handlebars, mysql, postgresql, sqlite
- Bereich
- documentation
Rechercherichtung
Es wird keine Datei, kein Test und kein Dokumentationseinstiegspunkt genannt. Beginne mit der Überprüfung der Repository-Struktur und der FAQ-Inhalte in diesem Issue, um festzustellen, wo sie hingehören und ob sie zum aktuellen Projekt passen. Fertig ist es, wenn die vereinbarte FAQ mit korrekten Beispielen und Details zu unterstützten Datenbanken am geeigneten Dokumentationsort platziert ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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 等
- Vorherrschende Sprache
- C#
- Sterne
- 577
- Forks
- 167
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus dotnetcore/SmartCode
-
老是报conda错误 Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 15/100
dotnetcore/SmartCode#75 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
dotnetcore/SmartCode#74 ·
-
SmartCode 版本不一致 Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
dotnetcore/SmartCode#72 · 1 Kommentar ·
-
dotnetcore/SmartCode#62 · 7 Kommentare · 3 zugewiesene Personen ·
-
Partial类建议 Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
dotnetcore/SmartCode#55 ·
Alle Issues in dotnetcore/SmartCode
Ähnliche Issues
-
bug
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
-
Type: enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
apache/arrow-adbc#4809 ·
-
type/automation type/tech-debt
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
microsoft/vscode-azurefunctions#5197 · 1 Kommentar ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
microsoft/microsoft-ui-reactor#1274 ·