IModelCustomizer Interface


Performs additional configuration of the model in addition to what is discovered by convention.

This interface is typically used by database providers (and other extensions). It is generally not used in application code.

When replacing this service consider deriving the implementation from ModelCustomizer or 'RelationalModelCustomizer' to preserve the default behavior.

The service lifetime is Singleton. This means a single instance is used by many DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

public interface IModelCustomizer
type IModelCustomizer = interface
Public Interface IModelCustomizer


Customize(ModelBuilder, DbContext)

Builds the model for a given context.

If any instance data from context is used when building the model, then the implementation of Create(DbContext) also needs to be updated to ensure the model is cached correctly.

Applies to