molti a molti EF7

c# entity-framework-core

Domanda

Modelli:

public partial class Film
{
    public int FilmID { get; set; }
    public virtual ICollection<Genre> Genres { get; set; }
}

public class Genre
{
    public int GenreID { get; set; }

    public virtual ICollection<Film> Films { get; set; }
}

OnModelCreating usando EF6

public partial class Film
{
    public int FilmID { get; set; }
    public virtual ICollection<Genre> Genres { get; set; }
}

public class Genre
{
    public int GenreID { get; set; }

    public virtual ICollection<Film> Films { get; set; }
}

Io uso SQLite. Come posso fare lo stesso usando EF7?

Risposta accettata

I documenti per EF7 dicono come questo può essere ottenuto: http://docs.efproject.net/en/latest/modeling/relationships.html#many-to-many

        modelBuilder.Entity<PostTag>()
            .HasOne(pt => pt.Post)
            .WithMany(p => p.PostTags)
            .HasForeignKey(pt => pt.PostId);
        modelBuilder.Entity<PostTag>()
            .HasOne(pt => pt.Post)
            .WithMany(p => p.PostTags)
            .HasForeignKey(pt => pt.PostId);

Risposta popolare

L'EFAP di mappatura cambierà in EF 7. C'è stata una proposta per un'API più intuitiva per molte API . C'è una parola breve su molti a molti lì:

Ci aspettiamo che l'API many-to-many sia molto simile alle API one-to-many e one-to-one.

Ma non è ancora stato implementato nella fonte attuale. In un contesto creato per i test, dice:

// TODO: Many-to-many
//modelBuilder.Entity<TSupplier>().ForeignKeys(fk => fk.ForeignKey<TProduct>(e => e.SupplierId));

Questo è tutto ciò che posso trovare su di esso.

Spero di sicuro che EF7 sarà retrocompatibile in questo settore.




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché