EF 4.1 RC Many to many relationship in EF CF

a 夏天 提交于 2019-12-03 09:07:33

This was problematic with EDMX but with EF 4.1 fluent API you can map it:

modelBuilder.Entity<book>()
            .HasMany(b => b.authors)
            .WithMany(a => a.books)
            .Map(m => m.MapLeftKey("BookID")
                   .MapRightKey("AuthorID")
                   .ToTable("BookAuthor"));

As you can see I don't map BookAuthor column. That column is unknown to EF and must be auto incremented.

This obviously can't work with a Code-first approach but only if you use Fluent API against existing database.

I don't think EF allows you to have a separate Id in many-to-many junction tables.

The alternative is just mapping BookAuthor as an entity.

On a side note, NHibernate supports this construct using an idbag

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!