DbContext.OnModelCreating Method

[This page is specific to the Entity Framework version 6. The latest version is available as the 'Entity Framework' NuGet package. For more information about Entity Framework, see msdn.com/data/ef.]

This method is called when the model for a derived context has been initialized, but before the model has been locked down and used to initialize the context. The default implementation of this method does nothing, but it can be overridden in a derived class such that the model can be further configured before it is locked down.

Namespace:  System.Data.Entity
Assembly:  EntityFramework (in EntityFramework.dll)

Syntax

'Declaration
Protected Overridable Sub OnModelCreating ( _
    modelBuilder As DbModelBuilder _
)
'Usage
Dim modelBuilder As DbModelBuilder 

Me.OnModelCreating(modelBuilder)
protected virtual void OnModelCreating(
    DbModelBuilder modelBuilder
)
protected:
virtual void OnModelCreating(
    DbModelBuilder^ modelBuilder
)
abstract OnModelCreating : 
        modelBuilder:DbModelBuilder -> unit  
override OnModelCreating : 
        modelBuilder:DbModelBuilder -> unit
protected function OnModelCreating(
    modelBuilder : DbModelBuilder
)

Parameters

Remarks

Typically, this method is called only once when the first instance of a derived context is created. The model for that context is then cached and is for all further instances of the context in the app domain. This caching can be disabled by setting the ModelCaching property on the given ModelBuidler, but note that this can seriously degrade performance. More control over caching is provided through use of the DbModelBuilder and DbContextFactory classes directly.

See Also

Reference

DbContext Class

System.Data.Entity Namespace