하지

-1

작업 엔티티 프레임 워크 5 자식 개체의 자식 개체를 포함하는 방법은, 그러나이 How to include a child object's child object in Entity Framework 5하지

을보고 내가 MVC (5) 사용하고 있는데 그 작동하지 않는 것 같습니다.

일반적인 토너먼트, 게임, 팀 구조를 가지고 있으며 토너먼트를 쿼리 할 때 팀을 포함하려고합니다.

나는 그러나 Team1 다시 널오고있다

db.Tournaments.Include(t => t.Games.Select(g => g.Team1)).ToList(); 

을 실행하려합니다. 수업 내용은 다음과 같습니다.

public class Tournament 
{ 
    public int TournamentId { get; set; } 
    public string Name { get; set; } 
    public virtual List<Game> Games { get; set; } 
    public virtual List<Standing> Standings { get; set; } 
} 

public class Game 
{ 
    public int GameId { get; set; } 
    public Location Location { get; set; } 
    public int LocationId { get; set; } 
    public virtual Team Team1 { get; set; } 
    public int Team1Id { get; set; } 
    public virtual Team Team2 { get; set; } 
    public int Team2Id { get; set; } 
    public int Team1Score { get; set; } 
    public int Team2Score { get; set; } 
    public DateTime Time { get; set; } 
    public Tournament Tournament { get; set; } 
    public int TournamentId { get; set; } 
} 

public class Team 
{ 
    public int TeamId { get; set; } 
    public string Name { get; set; } 
    public string Coach { get; set; } 
} 

누구에게 의견이 있습니까?

답변

0

Db의 게임 테이블에서 하나의 셀을로드하려고 시도하는 중 사용자가 시도하는 방식대로 수행 할 수 있다고 생각하지 않습니다.

네비게이션 속성이 가상으로 설정되어 있으므로 필요한 속성을 호출 할 때 자동으로 게으르다가로드해야합니다. include 문은 필요 없습니다.

정상적으로 할 필요가 대회

var Tournaments = Db.Tournaments.ToList(); 

     foreach (var game in Tournaments.Games) 
     { 
      game.Team1.TeamId; 
      game.Team1.Coach; 
      game.Team1.Name; 
     } 
0
db.Tournaments.Include(t => t.Games.Team1).ToList(); 

이 EF5 단일 자식 요소를 포함 올바른 방법으로 게임의 목록을 반복한다.