Class ForeignKeyAttributeConvention
- Namespace
- Microsoft.EntityFrameworkCore.Metadata.Conventions
- Assembly
- Microsoft.EntityFrameworkCore.dll
A convention that configures the foreign key properties associated with a navigation property based on the ForeignKeyAttribute specified on the properties or the navigation properties.
public class ForeignKeyAttributeConvention : IEntityTypeAddedConvention, IForeignKeyAddedConvention, INavigationAddedConvention, ISkipNavigationForeignKeyChangedConvention, IPropertyAddedConvention, IComplexPropertyAddedConvention, IModelFinalizingConvention, IConvention
- Inheritance
-
ForeignKeyAttributeConvention
- Implements
- Inherited Members
Remarks
For one-to-one relationships the attribute has to be specified on the navigation property pointing to the principal.
See Model building conventions for more information and examples.
Constructors
ForeignKeyAttributeConvention(ProviderConventionSetBuilderDependencies)
Creates a new instance of ForeignKeyAttributeConvention.
public ForeignKeyAttributeConvention(ProviderConventionSetBuilderDependencies dependencies)
Parameters
dependencies
ProviderConventionSetBuilderDependenciesParameter object containing dependencies for this convention.
Properties
Dependencies
Dependencies for this service.
protected virtual ProviderConventionSetBuilderDependencies Dependencies { get; }
Property Value
Methods
ProcessComplexPropertyAdded(IConventionComplexPropertyBuilder, IConventionContext<IConventionComplexPropertyBuilder>)
public virtual void ProcessComplexPropertyAdded(IConventionComplexPropertyBuilder propertyBuilder, IConventionContext<IConventionComplexPropertyBuilder> context)
Parameters
propertyBuilder
IConventionComplexPropertyBuildercontext
IConventionContext<IConventionComplexPropertyBuilder>
ProcessEntityTypeAdded(IConventionEntityTypeBuilder, IConventionContext<IConventionEntityTypeBuilder>)
public virtual void ProcessEntityTypeAdded(IConventionEntityTypeBuilder entityTypeBuilder, IConventionContext<IConventionEntityTypeBuilder> context)
Parameters
entityTypeBuilder
IConventionEntityTypeBuildercontext
IConventionContext<IConventionEntityTypeBuilder>
ProcessForeignKeyAdded(IConventionForeignKeyBuilder, IConventionContext<IConventionForeignKeyBuilder>)
Called after a foreign key is added to the entity type.
public virtual void ProcessForeignKeyAdded(IConventionForeignKeyBuilder relationshipBuilder, IConventionContext<IConventionForeignKeyBuilder> context)
Parameters
relationshipBuilder
IConventionForeignKeyBuilderThe builder for the foreign key.
context
IConventionContext<IConventionForeignKeyBuilder>Additional information associated with convention execution.
ProcessModelFinalizing(IConventionModelBuilder, IConventionContext<IConventionModelBuilder>)
public virtual void ProcessModelFinalizing(IConventionModelBuilder modelBuilder, IConventionContext<IConventionModelBuilder> context)
Parameters
modelBuilder
IConventionModelBuildercontext
IConventionContext<IConventionModelBuilder>
ProcessNavigationAdded(IConventionNavigationBuilder, IConventionContext<IConventionNavigationBuilder>)
Called after a navigation is added to the entity type.
public virtual void ProcessNavigationAdded(IConventionNavigationBuilder navigationBuilder, IConventionContext<IConventionNavigationBuilder> context)
Parameters
navigationBuilder
IConventionNavigationBuilderThe builder for the navigation.
context
IConventionContext<IConventionNavigationBuilder>Additional information associated with convention execution.
ProcessPropertyAdded(IConventionPropertyBuilder, IConventionContext<IConventionPropertyBuilder>)
public virtual void ProcessPropertyAdded(IConventionPropertyBuilder propertyBuilder, IConventionContext<IConventionPropertyBuilder> context)
Parameters
propertyBuilder
IConventionPropertyBuildercontext
IConventionContext<IConventionPropertyBuilder>
ProcessSkipNavigationForeignKeyChanged(IConventionSkipNavigationBuilder, IConventionForeignKey?, IConventionForeignKey?, IConventionContext<IConventionForeignKey>)
public virtual void ProcessSkipNavigationForeignKeyChanged(IConventionSkipNavigationBuilder skipNavigationBuilder, IConventionForeignKey? foreignKey, IConventionForeignKey? oldForeignKey, IConventionContext<IConventionForeignKey> context)
Parameters
skipNavigationBuilder
IConventionSkipNavigationBuilderforeignKey
IConventionForeignKeyoldForeignKey
IConventionForeignKeycontext
IConventionContext<IConventionForeignKey>