我不太熟悉 .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