remove related multiple initial framework first data entity-framework-core

entity framework core - related - ¿Cómo crear una relación de muchos a muchos con las últimas versiones nocturnas de EF Core?



install entity framework core (1)

Esto es seguido por el #1368 . La solución alternativa es asignar la tabla de unión a una entidad:

class Photo { public int Id { get; set; } public ICollection<PersonPhoto> PersonPhotos{ get; set; } } class PersonPhoto { public int PhotoId { get; set; } public Photo Photo { get; set; } public int PersonId { get; set; } public Person Person { get; set; } } class Person { public int Id { get; set; } public ICollection<PersonPhoto> PersonPhotos{ get; set; } }

Asegúrese de configurar PersonPhoto con una clave compuesta:

protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<PersonPhoto>().HasKey(x => new { x.PhotoId, x.PersonId }); }

Para navegar, use un Seleccionar:

// person.Photos var photos = person.PersonPhotos.Select(c => c.Photo);

¿Cómo utiliza la API Fluent para crear una relación de muchos a muchos entre dos tablas en EF7 EF Core? Por ejemplo, supongamos que tiene las siguientes tablas:

¿Cómo se aprovecha el modelBuilder en la clase DbContext para definir una relación como esta?

He visto this enlace de las notas de la reunión del equipo de EF con respecto a este tema, pero es del año pasado y me pregunto si hay nueva información sobre cómo abordar esto en EF7 EF Core.

Puedo crear una o muchas relaciones entre Photos y PhotosPeople, así como entre People y PhotosPeople. La base de datos se genera como me gustaría, pero la navegación entre Personas y Fotos ahora requiere interacción con una entidad intermedia. Me gustaría evitar esto.