Data Source
Data source recipe includes enough layers and feature implementations for a
backend application that is expected to provide data from configured data source
using report queries in .sql files.
To create an application from this recipe, use DataSource() extension of
Bake class directly in Program.cs.
Bake.New
.DataSource(
business: c => c.DomainAssemblies([...])
)
.Run();
Layers
| Name | Run | Test |
|---|---|---|
| Code Generation | ✅ | ✅ |
| Data Access | ✅ | ✅ |
| Domain | ✅ | ✅ |
| HTTP Server | ✅ | ⛔ |
| Rest API | ✅ | ⛔ |
| Runtime | ✅ | ✅ |
| Testing | ⛔ | ✅ |
Features
| Name | Run | Test |
|---|---|---|
| Binding | ✅ Rest | ✅ |
| Business | ✅ (No Default) | ✅ |
| Caching(s) | ✅ | ✅ |
| In-Memory | ||
| Scoped Memory | ||
| Coding Style(s) | ✅ | ✅ |
| Add/Remove Child | ||
| Command Pattern | ||
| Namespace as Route | ||
| Records are DTOs | ||
| Remaining Services are Singleton | ||
| Rich Transient | ||
| Scoped by Suffix | ||
| Use Built-in Types | ||
| Use Nullable Types | ||
| With Method | ||
| Core | ✅ Dotnet | ✅ Mock |
| Database | ✅ Sqlite | ✅ In Memory |
| Exception Handling | ✅ Problem Details | ✅ |
| Greeting | ✅ Swagger | ⛔ |
| Lifetime(s) | ✅ | ✅ |
| Singleton | ||
| Scoped | ||
| Transient | ||
| Localization | ✅ .NET | ✅ |
| Logging | ✅ Request | ⛔ |
| Mocking Overrider | ⛔ | ✅ First Interface |
| Reporting | ✅ NativeSql | ✅ Mock |
When Test column have ✅ without a note, this means it inherits whatever Run column denotes.