많은 것에서 많은 것 EF7

c# entity-framework-core

문제

모델 :

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; }
}

EF6를 사용하여 OnModelCreating

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; }
}

나는 SQLite를 사용한다. EF7을 사용하여 어떻게 할 수 있습니까?

수락 된 답변

EF7에 대한 문서는 이것이 어떻게 달성 될 수 있는지를 말하고 있습니다 : 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);

인기 답변

매핑 API는 EF 7에서 변경 될 것입니다.보다 직관적 인 일대 다 API 에 대한 제안이있었습니다. 거기에 많은 사람들에게 짧은 단어가 있습니다.

다 대다 API는 일대 다 및 일대일 API와 매우 유사 할 것으로 기대합니다.

그러나 현재 소스에서는 아직 구현되지 않았습니다. 테스트를 위해 만들어진 컨텍스트에서 다음과 같이 말합니다.

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

그것이 내가 알 수있는 전부입니다.

EF7이이 분야에서 역 호환이되기를 바랍니다.




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.