Schemas, operations, views, and NativeAOT
Source-generated Data Apps
Move grid structure and repetitive application plumbing from runtime reflection into validated compile-time output.
Explore source ↗Capability
Source generation covers the path from a domain model to typed grid structure, operations, pipelines, and views while keeping invalid configurations visible at build time.
- 01
Reflection-free schemas and typed columns
- 02
Generated operations, pipelines, and remote-query prefetch
- 03
Code-only Avalonia and ReactiveUI views
- 04
Diagnostics, benchmarks, and NativeAOT smoke gates
How it composes
From intent
to working system.
Discover
Attributes and symbols define keys, columns, formats, hierarchy, data operations, and view requirements.
Validate
Compile-time diagnostics reject ambiguous, inaccessible, or inconsistent configurations.
Generate
Typed accessors, columns, controllers, projections, registries, and views become ordinary source.
Bind
Generated definitions feed retained, drawn, hierarchical, and virtual surfaces without runtime schema discovery.
Quick start
Adopt this
capability.
Start with the primary module, then add the related packages only when the application needs those layers. Replace VERSION with the current NuGet version.
dotnet add package ProDataGriddotnet add package ProDataGrid.SourceGenerators<PackageReference Include="ProDataGrid.SourceGenerators" Version="VERSION" /><PackageVersion Include="ProDataGrid.SourceGenerators" Version="VERSION" />[GenerateDataGridColumns(ProviderName = "TradeGrid", Strict = true)]public sealed class Trade{ [DataGridKey] public int Id { get; init; }
[DataGridColumn(Header = "Symbol", Order = 0)] public string Symbol { get; init; } = string.Empty;}Modules in this capability
Use one layer.
Compose the rest.
Source of truth
Read the module beside the complete system.
The implementation, samples, issues, and release notes stay in the parent repository so module details remain connected to the product architecture.