Closed
Description
- Create public interfaces for metadata API to be used by conventions.
- Change
QueryFilter
,DefiningQuery
,IsEagerLoaded
,IsShadowProperty
,IsIndexedProperty
,BeforeSaveBehavior
AfterSaveBehavior
to extension methods. - Throw when calling
SetField
would change the shadowness of a property or the name of the identifyingMemberInfo
. - Rename
GetContainingPrimaryKey
toFindContainingPrimaryKey
. - Throw when calling
SetField
on a shadow or a field-only property. - Create public interfaces that the internal model builders implement, e.g.
IConventionModelBuilder
. This will allow cleaner API, without the explicitConfigurationSource
parameter. - Throw instead of silently failing when a non-explicit configuration call is invalid. This would require adding quiz API ('CanSet').
- Make model element references consistent (e.g.
Property
vsIProperty
vsstring
vsPropertyInfo
) - Add provider-specific extension methods for convention metadata interfaces.
- Rename and move
RelationalAnnotations
andRelationalAnnotationsBuilder
to Core. - Remove unused methods on provider classes like
SqlServerPropertyBuilderAnnotations.ColumnName
. - Rename the
Apply
methods to be more descriptive and make the return types consistent, still allowing to stop the execution of the following conventions. - Pass
CoreConventionSetBuilderDependencies
to the constructor of all conventions. - Add convention type for configuring a type as owned and use it to remove ambiguous ownerships.
- Track the model elements as they are modified by conventions, so a call to a convention never returns an element that is no longer in the model.
- Add a way to delay the convention execution.
- Move logic from
ModelCustomizer
to a convention. - Add
SqlServerValueGenerationStrategy.None
value that can be used to override the model default. - Filter out the core annotations changes from conventions.
- Remove
PropertyMetadataChanged()
calls and don't cache indexes while the model is mutable. - Expose conventions as
List
onConventionSet
- Add methods to add/remove a convention to/from all appropriate convention lists.
- Add a
Conventions
property ofConventionSetBuilder
type toModelConfigurationBuilder
with methods to add/remove a convention
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment