DbModelBuilder is used to map CLR classes to a database schema. This code centric approach to building an Entity Data Model (EDM) model is known as 'Code First'.
Assembly: EntityFramework (in EntityFramework.dll)
Thetype exposes the following members.
|DbModelBuilder()||Initializes a new instance of the class. The process of discovering the initial model will use the set of conventions included in the most recent version of the Entity Framework installed on your machine.|
|DbModelBuilder(DbModelBuilderVersion)||Initializes a new instance of the class that will use a specific set of conventions to discover the initial model.|
|Build(DbConnection)||Creates a DbModel based on the configuration performed using this builder. The connection is used to determine the database provider being used as this affects the database layer of the generated model.|
|Build(DbProviderInfo)||Creates a DbModel based on the configuration performed using this builder. Provider information must be specified because this affects the database layer of the generated model. For SqlClient the invariant name is 'System.Data.SqlClient' and the manifest token is the version year (i.e. '2005', '2008' etc.)|
|ComplexType<TComplexType>||Registers a type as a complex type in the model and returns an object that can be used to configure the complex type. This method can be called multiple times for the same type to perform multiple lines of configuration.|
|Entity<TEntityType>||Registers an entity type as part of the model and returns an object that can be used to configure the entity. This method can be called multiple times for the same entity to perform multiple lines of configuration.|
|Equals||Specifies whether the is equal to the specified object. (Overrides Object.Equals(Object).)|
|Finalize||(Inherited from Object.)|
|GetHashCode||Returns the hash code for the current instance. (Overrides Object.GetHashCode().)|
|GetType||Gets the Type of the current instance.|
|HasDefaultSchema||Configures the default database schema name. This default database schema name is used for database objects that do not have an explicitly configured schema name.|
|Ignore(IEnumerable<Type>)||Excludes the specified type(s) from the model. This is used to remove types from the model that were added by convention during initial model discovery.|
|Ignore<T>()||Excludes a type from the model. This is used to remove types from the model that were added by convention during initial model discovery.|
|MemberwiseClone||(Inherited from Object.)|
|Properties()||Begins configuration of a lightweight convention that applies to all properties in the model.|
|Properties<T>()||Begins configuration of a lightweight convention that applies to all primitive properties of the specified type in the model.|
|RegisterEntityType||Registers an entity type as part of the model.|
|ToString||Returns a string representation of . (Overrides Object.ToString().)|
|Types()||Begins configuration of a lightweight convention that applies to all entities and complex types in the model.|
|Types<T>()||Begins configuration of a lightweight convention that applies to all entities and complex types in the model that inherit from or implement the type specified by the generic argument. This method does not register types as part of the model.|
DbModelBuilder is typically used to configure a model by overriding OnModelCreating(DbModelBuilder) . You can also use DbModelBuilder independently of DbContext to build a model and then construct a DbContext or ObjectContext. The recommended approach, however, is to use OnModelCreating in DbContext as the workflow is more intuitive and takes care of common tasks, such as caching the created model. Types that form your model are registered with DbModelBuilder and optional configuration can be performed by applying data annotations to your classes and/or using the fluent style DbModelBuilder API. When the Build method is called a set of conventions are run to discover the initial model. These conventions will automatically discover aspects of the model, such as primary keys, and will also process any data annotations that were specified on your classes. Finally any configuration that was performed using the DbModelBuilder API is applied. Configuration done via the DbModelBuilder API takes precedence over data annotations which in turn take precedence over the default conventions.