Table of Contents

Class ComplexPropertyDiscoveryConvention

Namespace
Microsoft.EntityFrameworkCore.Metadata.Conventions
Assembly
Microsoft.EntityFrameworkCore.dll

A convention that configures relationships between entity types based on the navigation properties as long as there is no ambiguity as to which is the corresponding inverse navigation.

public class ComplexPropertyDiscoveryConvention : IEntityTypeAddedConvention, IEntityTypeBaseTypeChangedConvention, IEntityTypeMemberIgnoredConvention, IComplexPropertyAddedConvention, INavigationRemovedConvention, INavigationAddedConvention, IPropertyRemovedConvention, IPropertyAddedConvention, ISkipNavigationRemovedConvention, ISkipNavigationAddedConvention, IModelFinalizingConvention, IConvention
Inheritance
ComplexPropertyDiscoveryConvention
Implements
Inherited Members

Remarks

See Model building conventions for more information and examples.

Constructors

ComplexPropertyDiscoveryConvention(ProviderConventionSetBuilderDependencies)

Creates a new instance of ComplexPropertyDiscoveryConvention.

public ComplexPropertyDiscoveryConvention(ProviderConventionSetBuilderDependencies dependencies)

Parameters

dependencies ProviderConventionSetBuilderDependencies

Parameter object containing dependencies for this convention.

Properties

Dependencies

Dependencies for this service.

protected virtual ProviderConventionSetBuilderDependencies Dependencies { get; }

Property Value

ProviderConventionSetBuilderDependencies

Methods

ProcessComplexPropertyAdded(IConventionComplexPropertyBuilder, IConventionContext<IConventionComplexPropertyBuilder>)

public void ProcessComplexPropertyAdded(IConventionComplexPropertyBuilder propertyBuilder, IConventionContext<IConventionComplexPropertyBuilder> context)

Parameters

propertyBuilder IConventionComplexPropertyBuilder
context IConventionContext<IConventionComplexPropertyBuilder>

ProcessEntityTypeAdded(IConventionEntityTypeBuilder, IConventionContext<IConventionEntityTypeBuilder>)

public virtual void ProcessEntityTypeAdded(IConventionEntityTypeBuilder entityTypeBuilder, IConventionContext<IConventionEntityTypeBuilder> context)

Parameters

entityTypeBuilder IConventionEntityTypeBuilder
context IConventionContext<IConventionEntityTypeBuilder>

ProcessEntityTypeBaseTypeChanged(IConventionEntityTypeBuilder, IConventionEntityType?, IConventionEntityType?, IConventionContext<IConventionEntityType>)

public virtual void ProcessEntityTypeBaseTypeChanged(IConventionEntityTypeBuilder entityTypeBuilder, IConventionEntityType? newBaseType, IConventionEntityType? oldBaseType, IConventionContext<IConventionEntityType> context)

Parameters

entityTypeBuilder IConventionEntityTypeBuilder
newBaseType IConventionEntityType
oldBaseType IConventionEntityType
context IConventionContext<IConventionEntityType>

ProcessEntityTypeMemberIgnored(IConventionEntityTypeBuilder, string, IConventionContext<string>)

public void ProcessEntityTypeMemberIgnored(IConventionEntityTypeBuilder entityTypeBuilder, string name, IConventionContext<string> context)

Parameters

entityTypeBuilder IConventionEntityTypeBuilder
name string
context IConventionContext<string>

ProcessModelFinalizing(IConventionModelBuilder, IConventionContext<IConventionModelBuilder>)

public void ProcessModelFinalizing(IConventionModelBuilder modelBuilder, IConventionContext<IConventionModelBuilder> context)

Parameters

modelBuilder IConventionModelBuilder
context IConventionContext<IConventionModelBuilder>

ProcessNavigationAdded(IConventionNavigationBuilder, IConventionContext<IConventionNavigationBuilder>)

public void ProcessNavigationAdded(IConventionNavigationBuilder navigationBuilder, IConventionContext<IConventionNavigationBuilder> context)

Parameters

navigationBuilder IConventionNavigationBuilder
context IConventionContext<IConventionNavigationBuilder>

ProcessNavigationRemoved(IConventionEntityTypeBuilder, IConventionEntityTypeBuilder, string, MemberInfo?, IConventionContext<string>)

public virtual void ProcessNavigationRemoved(IConventionEntityTypeBuilder sourceEntityTypeBuilder, IConventionEntityTypeBuilder targetEntityTypeBuilder, string navigationName, MemberInfo? memberInfo, IConventionContext<string> context)

Parameters

sourceEntityTypeBuilder IConventionEntityTypeBuilder
targetEntityTypeBuilder IConventionEntityTypeBuilder
navigationName string
memberInfo MemberInfo
context IConventionContext<string>

ProcessPropertyAdded(IConventionPropertyBuilder, IConventionContext<IConventionPropertyBuilder>)

public void ProcessPropertyAdded(IConventionPropertyBuilder propertyBuilder, IConventionContext<IConventionPropertyBuilder> context)

Parameters

propertyBuilder IConventionPropertyBuilder
context IConventionContext<IConventionPropertyBuilder>

ProcessPropertyRemoved(IConventionTypeBaseBuilder, IConventionProperty, IConventionContext<IConventionProperty>)

public void ProcessPropertyRemoved(IConventionTypeBaseBuilder typeBaseBuilder, IConventionProperty property, IConventionContext<IConventionProperty> context)

Parameters

typeBaseBuilder IConventionTypeBaseBuilder
property IConventionProperty
context IConventionContext<IConventionProperty>

ProcessSkipNavigationAdded(IConventionSkipNavigationBuilder, IConventionContext<IConventionSkipNavigationBuilder>)

public void ProcessSkipNavigationAdded(IConventionSkipNavigationBuilder skipNavigationBuilder, IConventionContext<IConventionSkipNavigationBuilder> context)

Parameters

skipNavigationBuilder IConventionSkipNavigationBuilder
context IConventionContext<IConventionSkipNavigationBuilder>

ProcessSkipNavigationRemoved(IConventionEntityTypeBuilder, IConventionSkipNavigation, IConventionContext<IConventionSkipNavigation>)

public void ProcessSkipNavigationRemoved(IConventionEntityTypeBuilder entityTypeBuilder, IConventionSkipNavigation navigation, IConventionContext<IConventionSkipNavigation> context)

Parameters

entityTypeBuilder IConventionEntityTypeBuilder
navigation IConventionSkipNavigation
context IConventionContext<IConventionSkipNavigation>