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 |
---|---|---|
Business | ✅ (No Default) | ✅ |
Caching | ✅ 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 | ||
Logging | ✅ Request | ⛔ |
Mocking Overrider | ⛔ | ✅ First Interface |
Reporting | ✅ NativeSql | ✅ Mock |
When Test column have ✅ without a note, this means it inherits whatever Run column denotes.