Skip to content

Add support for default value conventions #9329

@AndriySvyryd

Description

@AndriySvyryd

This would be an implementation of the Transparent Functional Reactive Programming where the model and all its state becomes observable, default values are computable and a new reactive type of conventions is added.

Default values are only computed when the corresponding value is requested and it hasn't been overridden. Default values and reactive conventions automatically subscribe to the changes on all used inputs and rerun if any input changes.

If a reactive convention implements specific convention interfaces they can be used to run a faster local version.

Observable value changes are grouped in the current convention batch and the reactions are executed atomically.

This is closely related to #15898. A new Default ConfigurationSource will be added to indicate that a value is set through this mechanism.

This will allow to efficiently calculate the values for value generated, type mapping (review usages of ProviderConventionSetBuilderDependencies.TypeMappingSource), column and table name which in turn allows removing TableNameFromDbSetConvention and dropping DbContext and DbSetFinder dependencies from RelationalConventionSetBuilder.

Metadata

Metadata

Assignees

No fields configured for Feature.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions