DbModelBuilder Class

Definition

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'.

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId="Db")]
public class DbModelBuilder
public class DbModelBuilder
type DbModelBuilder = class
Public Class DbModelBuilder
Inheritance
DbModelBuilder
Attributes

Remarks

DbModelBuilder is typically used to configure a model by overriding DbContext.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.

Constructors

DbModelBuilder()

Initializes a new instance of the DbModelBuilder 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 DbModelBuilder class that will use a specific set of conventions to discover the initial model.

Properties

Configurations

Gets the ConfigurationRegistrar for this DbModelBuilder. The registrar allows derived entity and complex type configurations to be registered with this builder.

Conventions

Provides access to the settings of this DbModelBuilder that deal with conventions.

Methods

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(Object)

Determines whether the specified object is equal to the current object.

GetHashCode()

Serves as the default hash function.

GetType()

Gets the Type of the current instance.

HasDefaultSchema(String)

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.

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(Type)

Registers an entity type as part of the model.

ToString()

Returns a string that represents the current object.

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.

Applies to