小编yal*_*aba的帖子

Entity Framework Core:在 WebAPI 中包含多对多相关对象

我不太熟悉 .NET 框架,但决定尝试 ASP.NET Core 和 EF Core。我想制作一个非常简单的 Web API 后端,但是我在处理多对多关系时遇到了麻烦。

我知道我需要为两个实体创建一个关系表,如这篇文章中的示例所示:如何使用最新的 EF Core 每晚构建创建多对多关系?

我也有我的模型构建器创建这里描述的关系http://ef.readthedocs.io/en/latest/modeling/relationships.html#many-to-many

我的代码如下所示:

在 DBContext 中:

protected override void OnModelCreating(ModelBuilder builder)
    {
        base.OnModelCreating(builder);

        builder.Entity<MovieActor>().HasKey(x => new { x.MovieId, x.ActorId});

        builder.Entity<MovieActor>()
            .HasOne(m => m.Movie)
            .WithMany(ma => ma.MovieActors)
            .HasForeignKey(m => m.MovieId);

        builder.Entity<MovieActor>()
            .HasOne(m => m.Actor)
            .WithMany(ma => ma.MovieActors)
            .HasForeignKey(a => a.ActorId);

    }

    public DbSet<Movie> Movies { get; set; }

    public DbSet<Actor> Actors { get; set; }


}
Run Code Online (Sandbox Code Playgroud)

楷模:

namespace Test.Models
{
    public class Movie
    {
        public …
Run Code Online (Sandbox Code Playgroud)

linq entity-framework entity-framework-core asp.net-core asp.net-core-webapi

3
推荐指数
1
解决办法
5813
查看次数