我有一个现有的 SQL Server 数据库,其中通过连接表实现了多对多关系Books
<-> :Authors
Publications
CREATE TABLE [dbo].[Books]
(
[BookId] INT IDENTITY,
[Title] NVARCHAR(160) NOT NULL,
...
)
CREATE TABLE [dbo].[Authors]
(
[AuthorId] INT IDENTITY,
...
)
CREATE TABLE [dbo].[Publications]
(
[BookId] INT NOT NULL,
[AuthorId] INT NOT NULL,
CONSTRAINT [PK_Publication] PRIMARY KEY ([BookId], [AuthorId])
)
Run Code Online (Sandbox Code Playgroud)
我需要在 Entity Framework Core 5 中配置多对多关系。
对于 EF 6,这相当简单:
protected override void OnModelCreating(DbModelBuilder mb)
{
mb.Entity<Author>() // an Author
.HasMany(a => a.Books) // has many Books
.WithMany(b => b.Authors) // …
Run Code Online (Sandbox Code Playgroud)