DbModelBuilder (Clase)

[Esta página es específica de la versión 6 de Entity Framework. La versión más reciente está disponible como el paquete NuGet de Entity Framework. Para más información sobre Entity Framework, consulte msdn.com/es-ES/data/ef].

DbModelBuilder se usa para asignar clases de CLR a un esquema de la base de datos. Este enfoque basado en código para crear un modelo de Entity Data Model (EDM) se conoce como 'Code First'.

Jerarquía de herencia

System.Object
  System.Data.Entity.DbModelBuilder

Espacio de nombres:  System.Data.Entity
Ensamblado:  EntityFramework (en EntityFramework.dll)

Sintaxis

'Declaración
Public Class DbModelBuilder
'Uso
Dim instance As DbModelBuilder
public class DbModelBuilder
public ref class DbModelBuilder
type DbModelBuilder =  class end
public class DbModelBuilder

El tipo DbModelBuilder expone los siguientes miembros.

Constructores

  Name Descripción
Método público DbModelBuilder() Inicializa una nueva instancia de la clase DbModelBuilder.El proceso de detectar el modelo inicial usará el conjunto de convenciones incluidas en la versión más reciente de Entity Framework instalada en el equipo.
Método público DbModelBuilder(DbModelBuilderVersion) Inicializa una nueva instancia de la clase DbModelBuilder que usará un conjunto específico de convenciones para detectar el modelo inicial.

Superior

Propiedades

  Name Descripción
Propiedad pública Configurations Obtiene el ConfigurationRegistrar para este DbModelBuilder.El registro permite que se registren configuraciones de tipo complejo y entidad derivada con este generador.
Propiedad pública Conventions Proporciona acceso a la configuración de este DbModelBuilder que trata las convenciones.

Superior

Métodos

  Name Descripción
Método público Build(DbConnection) Crea un DbModel basado en la configuración realizada mediante este generador.La conexión se emplea para determinar el proveedor de bases de datos que se está usando, ya que esto afecta a la capa de base de datos del modelo generado.
Método público Build(DbProviderInfo) Crea un DbModel basado en la configuración realizada mediante este generador.Se debe especificar la información del proveedor porque esto afecta a la capa de base de datos del modelo generado.Para SqlClient, el nombre invariable es 'System.Data.SqlClient' y el token del manifiesto es el año de la versión (por ejemplo, '2005 ', “2008”, etc.).
Método público ComplexType<TComplexType> Registra un tipo como un tipo complejo en el modelo y devuelve un objeto que se puede utilizar para configurar el tipo complejo.Se puede llamar a este método varias veces para el mismo tipo con el fin de realizar varias líneas de configuración.
Método público Entity<TEntityType> Registra un tipo de entidad como parte del modelo y devuelve un objeto que se puede utilizar para configurar la entidad.Se puede llamar a este método varias veces para la misma entidad con el fin de realizar varias líneas de configuración.
Método público Equals Especifica si el DbModelBuilder es o no igual al objeto especificado. (Invalida a Object.Equals(Object)).
Método protegido Finalize (Se hereda de Object).
Método público GetHashCode Devuelve el código hash de la instancia actual. (Invalida a Object.GetHashCode()).
Método público GetType Obtiene el Type de la instancia actual.
Método público HasDefaultSchema Configura el nombre del esquema predeterminado de la base de datos.Este nombre del esquema predeterminado de la base de datos se usa para los objetos de base de datos que no tienen configurado explícitamente un nombre de esquema.
Método público Ignore(IEnumerable<Type>) Excluye los tipos especificados del modelo.Se usa para quitar tipos del modelo que se agregaron por convención durante la detección del modelo inicial.
Método público Ignore<T>() Excluye un tipo del modelo.Se usa para quitar tipos del modelo que se agregaron por convención durante la detección del modelo inicial.
Método protegido MemberwiseClone (Se hereda de Object).
Método público Properties() Inicia la configuración de una convención ligera que se aplica a todas las propiedades del modelo.
Método público Properties<T>() Inicia la configuración de una convención ligera que se aplica a todas las propiedades primitivas del tipo especificado del modelo.
Método público RegisterEntityType Registra un tipo de entidad como parte del modelo.
Método público ToString Devuelve una representación en forma de cadena de DbModelBuilder. (Invalida a Object.ToString()).
Método público Types() Inicia la configuración de una convención ligera que se aplica a todos los tipos complejos y entidades del modelo.
Método público Types<T>() Inicia la configuración de una convención ligera que se aplica a todos los tipos complejos y las entidades del modelo que se heredan del tipo especificado por el argumento genérico o lo implementan.Este método no registra tipos como parte del modelo.

Superior

Comentarios

DbModelBuilder se suele usar para configurar un modelo reemplazando el método OnModelCreating(DbModelBuilder). También puede usar DbModelBuilder independientemente de DbContext para crear un modelo y construir después un DbContext o un ObjectContext. Sin embargo, el método recomendado consiste en usar OnModelCreating en DbContext, ya que el flujo de trabajo es más intuitivo y se encarga de las tareas comunes, como el almacenamiento en memoria caché del modelo creado. Los tipos que forman el modelo se registran con DbModelBuilder y se puede realizar una configuración opcional aplicando anotaciones de datos a las clases y/o usando la API fluida DbModelBuilder. Cuando se llama al método Build, se ejecuta un conjunto de convenciones para detectar el modelo inicial. Estas convenciones detectarán automáticamente aspectos del modelo, como las claves principales, y también procesarán las anotaciones de datos que se especificaron en las clases. Finalmente, se aplica cualquier configuración que se realizó utilizando la API DbModelBuilder. La configuración realizada mediante la API DbModelBuilder tiene prioridad sobre las anotaciones de datos que, a su vez, tienen prioridad sobre las convenciones predeterminadas.

Seguridad para subprocesos

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Vea también

Referencia

System.Data.Entity (Espacio de nombres)