Modelos
Última actualización
Última actualización
Definir Clases de Modelo: Cada modelo es una clase en C#. Estas clases representan entidades en tu base de datos. Cada propiedad de la clase se mapeará a una columna en la tabla de la base de datos.
Puedes utilizar o Fluent API para configurar aspectos del modelo, como restricciones, nombres de tablas, etc. Fluent API ofrece más opciones y es más flexible, pero Data Annotations es más directo y fácil de leer.
En Entity Framework, las relaciones entre entidades (o tablas) se representan mediante propiedades de navegación y claves foráneas. Estas relaciones se pueden categorizar principalmente en tres tipos: Uno-a-Uno, Uno-a-Muchos, y Muchos-a-Muchos.
Importante saber que una propiedad de navegación es una propiedad en una clase de entidad que hace referencia a otra entidad o entidades, permitiendo así acceder a las relaciones de una forma orientada a objetos. Las propiedades de navegación son claves para trabajar con relaciones entre entidades, ya que facilitan la manipulación y consulta de datos relacionados en una aplicación.
A diferencia de las propiedades normales de una entidad que se mapean a una columna en una tabla de base de datos, las propiedades de navegación se utilizan para representar las relaciones y no tienen una representación directa en la tabla.
En una relación Uno-a-Uno, una entidad está asociada directamente con otra entidad.
Cada Usuario
tiene un único Perfil
.
PerfilId
y UsuarioId
suelen ser el mismo valor para indicar esta relación uno-a-uno.
Usuario
tiene una propiedad de navegación Perfil
, y Perfil
tiene una propiedad de navegación Usuario
.
🔹 Relación Uno-a-Muchos
En una relación Uno-a-Muchos, una entidad puede estar asociada con varias entidades de otro tipo.
Un Profesor
puede impartir varios Cursos
.
Curso
tiene una propiedad ProfesorId
que es una clave foránea apuntando a Profesor
.
Profesor
tiene una colección de Cursos
, mostrando la relación de uno a muchos.
3. Relación Muchos-a-Muchos
En una relación Muchos-a-Muchos, varias entidades de un tipo pueden estar asociadas con varias entidades de otro tipo.
Un Estudiante
puede inscribirse en varios Cursos
y un Curso
puede tener varios Estudiantes
.
La tabla de unión EstudianteCurso
contiene claves foráneas de ambas tablas (EstudianteId
y CursoId
) y sirve para representar esta relación.