C# Net内核:多对多关系获取操作

C# Net内核:多对多关系获取操作,c#,.net,core,C#,.net,Core,我有两个实体通过多对多关系连接 头等舱: public class Movie { public int Id { get; set; } public string Title { get; set; } public List<MovieActor> MovieActor { get; set; } } 我想编写IEnumerable GetMovies(int-actorId)方法,该方法将演员的id作为参数。我希望这个方法返回一个电影列

我有两个实体通过多对多关系连接

头等舱:

 public class Movie
 {
     public int Id { get; set; }
     public string Title { get; set; }

     public List<MovieActor> MovieActor { get; set; }
 }

我想编写
IEnumerable GetMovies(int-actorId)
方法,该方法将演员的id作为参数。我希望这个方法返回一个电影列表,其中一个具有给定Id的演员在其中扮演角色。我该怎么做呢?

您不需要电影演员课程

改为:

public class Movie
 {
     public int Id { get; set; }
     public string Title { get; set; }

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

 public class Actor
 {
     public int Id { get; set; }
     public string Name { get; set; }

     public List<Movie> Movies { get; set; }
 }
公共类电影
{
公共int Id{get;set;}
公共字符串标题{get;set;}
公共列表参与者{get;set;}
}
公共级演员
{
公共int Id{get;set;}
公共字符串名称{get;set;}
公共列表电影{get;set;}
}

然后,您可以选择演员,并将电影列表作为演员的属性。

因此您可以执行类似操作

 public IEnumerable<Movie> GetMovies(int actorId)
 {
     var result = await _context.Actor.Where(x => x.Id == actorId).
                                          Include(x => x.MovieActor).ThenInclude(x => x.Movie).FirstOrDefaultAsync();
        
     var movies = result.MovieActor.select(x => x.Movie).Tolist();
     return movies
  }
public IEnumerable GetMovies(int-actorId)
{
var result=await_context.Actor.Where(x=>x.Id==actorId)。
Include(x=>x.MovieActor)。然后Include(x=>x.Movie)。FirstOrDefaultAsync();
var movies=result.MovieActor.select(x=>x.Movie.Tolist();
回归电影
}

在我面临的问题中,我无法更改实体的结构。我在这里给出的只是我所面临问题的一个简单例子。演员和电影表更广泛,关系表也有几个附加字段。
public class Movie
 {
     public int Id { get; set; }
     public string Title { get; set; }

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

 public class Actor
 {
     public int Id { get; set; }
     public string Name { get; set; }

     public List<Movie> Movies { get; set; }
 }
 public IEnumerable<Movie> GetMovies(int actorId)
 {
     var result = await _context.Actor.Where(x => x.Id == actorId).
                                          Include(x => x.MovieActor).ThenInclude(x => x.Movie).FirstOrDefaultAsync();
        
     var movies = result.MovieActor.select(x => x.Movie).Tolist();
     return movies
  }