Documentos de Académico
Documentos de Profesional
Documentos de Cultura
aspx
ADO.NET Entity Framework está diseñado para permitir a los programadores crear aplicaciones de acceso
a datos programando con un modelo de la aplicación conceptual en lugar de programar directamente con un
esquema de almacenamiento relacional.
• Las aplicaciones pueden funcionar en términos de un modelo conceptual más centrado en la aplicación, que
incluye tipos con herencia, miembros complejos y relaciones.
• Las aplicaciones están libres de dependencias de codificación rígida de un motor de datos o de un esquema de
almacenamiento.
• Las asignaciones entre el modelo conceptual y el esquema específico de almacenamiento pueden cambiar sin
Ventajas tener que cambiar el código de la aplicación.
• Los programadores pueden trabajar con un modelo de objeto de aplicación coherente que se puede asignar a
diversos esquemas de almacenamiento, posiblemente implementados en sistemas de administración de base de
datos diferentes.
Es una representación específica de la estructura de los datos en forma de entidades y relaciones, y normalmente se
Modelo define mediante un lenguaje específico de dominio (DSL) que implementa los conceptos de EDM.
Conceptual
Las entidades y relaciones descritas en un modelo conceptual se pueden considerar como abstracciones de objetos y
asociaciones en una aplicación.
Esto permite a los desarrolladores centrarse en el modelo conceptual sin tener que
preocuparse por el esquema de almacenamiento, así como escribir el código teniendo en
cuenta la eficacia y el mantenimiento.
Tablas Colecciones
Registros Clases
Campos Propiedades
Enfoques
Database First Code First
Propiedades,
y asociaciones
Model First
Database
Además de definir las clases, también debe dejar que DbContext conozca los tipos que desea incluir en el modelo.
Para ello, se define una clase de contexto que se deriva de DbContext y expone las propiedades de DbSet para los
tipos que desea que formen parte del modelo. Code First incluirá estos tipos y también extraerá algunos tipos a los
que se hace referencia, incluso si estos se definen en otro ensamblado.
Los tipos DbContext y DbSet residen en la biblioteca de Code First de EF. Necesitan agregar una referencia a
System.Data.Entity
Enfoque Code First Convenciones
En EF, el enfoque CF viene configurado para usar convenciones en vez de configuración, lo que permite usar
prácticas comunes en estructurado de datos en lugar de tener que configurarlo de manera explícita. Las
convenciones pueden ser redefinidas si es necesario crear reglas diferentes.
Las convenciones son conjuntos de reglas que se usan para configurar automáticamente un modelo conceptual
basándose en definiciones de clase cuando se trabaja con Code First. Las convenciones se definen en el espacio de
nombres System.Data.Entity.ModelConfiguration.Conventions
Si no ha hecho ninguna otra configuración en la aplicación, después de llamar al constructor de cadena en DbContext
con el nombre de la base de datos que desea usar, DbContext se ejecutará en el modo de Code First con una conexión
de base de datos creada por convención a la base de datos con dicho nombre. Por ejemplo:
Puede elegir colocar una cadena de conexión en el archivo app.config o web.config. Por ejemplo:
Si el nombre de la cadena de conexión es diferente del nombre del contexto, puede indicar a DbContext que
utilice esta conexión en el modo Code First pasando el nombre de la cadena de conexión al constructor de
DbContext.
Enfoque Code First Convenciones
Usar Code First con la cadena de conexión en el archivo app.config/web.config
Key
Puede usar la anotación de [Key] para especificar qué propiedad debe usarse como EntityKey.
Enfoque Code First Data Annotations
Required v
La anotación Required indica a EF que una propiedad
determinada es necesaria.
MaxLength y MinLength
NotMapped
Indica que la propiedad del modelo conceptual no se
mapea en el modelo relacional
Enfoque Code First Data Annotations
Column
Configura el nombre de la del campo
en el modelo relacional
Enfoque Code First Data Annotations
DisplayName
Especifica el nombre de visualización
de la propiedad
Enfoque Code First Data Annotations
DisplayName
Especifica el nombre de visualización
de la propiedad
Enfoque Code First Api Fluida
Code First permite usar sus propias clases de dominio para representar el modelo en el que se basa EF para realizar las
consultas, el seguimiento de los cambios y las funciones de actualización. Code First usa un modelo de programación conocido
como convención sobre la configuración. Lo que significa esto es que Code First supondrá primero que las clases siguen las
convenciones del esquema que EF usa para un modelo conceptual. En ese caso, EF podrá obtener los detalles que necesita para
realizar su trabajo. Sin embargo, si las clases no siguen dichas convenciones, tiene la capacidad de agregar configuraciones a las
clases para proporcionar a EF la información que necesita
Las configuraciones de la API fluida se aplican a medida que Code First está generando el modelo a partir de las
clases. Puede insertar la configuración invalidando el método OnModelCreating de la clase de DbContext según
se muestra aquí.
MapToStoreProcedures()
Map()
Eliminando la convención
Enfoque Code First Clases POCO
Propiedades Virtuales