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 | |
---|---|---|
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. | |
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 | |
---|---|---|
Configurations | Obtiene el ConfigurationRegistrar para este DbModelBuilder.El registro permite que se registren configuraciones de tipo complejo y entidad derivada con este generador. | |
Conventions | Proporciona acceso a la configuración de este DbModelBuilder que trata las convenciones. |
Superior
Métodos
Name | Descripción | |
---|---|---|
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. | |
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.). | |
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. | |
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. | |
Equals | Especifica si el DbModelBuilder es o no igual al objeto especificado. (Invalida a Object.Equals(Object)). | |
Finalize | (Se hereda de Object). | |
GetHashCode | Devuelve el código hash de la instancia actual. (Invalida a Object.GetHashCode()). | |
GetType | Obtiene el Type de la instancia actual. | |
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. | |
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. | |
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. | |
MemberwiseClone | (Se hereda de Object). | |
Properties() | Inicia la configuración de una convención ligera que se aplica a todas las propiedades del modelo. | |
Properties<T>() | Inicia la configuración de una convención ligera que se aplica a todas las propiedades primitivas del tipo especificado del modelo. | |
RegisterEntityType | Registra un tipo de entidad como parte del modelo. | |
ToString | Devuelve una representación en forma de cadena de DbModelBuilder. (Invalida a Object.ToString()). | |
Types() | Inicia la configuración de una convención ligera que se aplica a todos los tipos complejos y entidades del modelo. | |
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.