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

NameRunTest
Code Generation
Data Access
Domain
HTTP Server
Rest API
Runtime
Testing

Features

NameRunTest
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.

Phase Execution Order

diagram