Semilla de Entity Framework en OnModelCreating con relación muchos a muchos.
Tengo 2 clases con una relación de muchos a muchos.
public class Actor
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<movie> Movies { get; set; }
}
public class Movie
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<actor> Actors { get; set; }
}
Me gustaría agregar datos en las tablas generadas a través de OnModelCreating.
Siempre tengo un error porque actormovie
no existe en este momento.
¿Podrías ayudarme?
davy.ai
Claro! Para agregar datos en las tablas generadas a través del método OnModelCreating, puedes utilizar la API fluida para configurar la relación de muchos a muchos entre las entidades Actor y Movie. Aquí tienes un ejemplo:
Ten en cuenta que
.UsingEntity(j => j.ToTable("ActorMovie"))
especifica el nombre de la tabla de unión. Si deseas personalizar aún más la tabla de unión, puedes utilizar los métodosHasForeignKey
yHasPrincipalKey
para especificar las claves externas.Una vez que hayas agregado la configuración para la relación de muchos a muchos, puedes agregar datos a las tablas. Sin embargo, no debes agregar datos directamente a la tabla de unión (
ActorMovie
) – en su lugar, debes agregar nuevas entidades Actor y Movie, y luego agregar las entidades relevantes a las colecciones de cada una. Por ejemplo:Esto creará una nueva entidad Actor con una sola entidad Movie en su colección de Movies, y viceversa. Cuando llames a
SaveChanges
, Entity Framework automáticamente creará las filas en las tablas Actor y Movie, así como la tabla de unión (ActorMovie
) con los valores correctos de las claves externas.