1

팀과 플레이어 간의 일대 다 관계로 완벽한 작업 코드가 있습니다. Team side works 및 evertything의 드롭 다운 메뉴는 db에 저장됩니다.많은 MVC 5 모델 코드 첫 번째 조인 테이블

이제 하나의 팀이 많은 플레이어를 가질 수 있고 하나의 플레이어가 많은 팀에 가입 할 수 있도록 조인 테이블을 소개하고자합니다. 나는 어둠에 넘어져 앞으로 나아갈 필요가있다. 아래 내 코드를 참조하십시오. 미리 감사드립니다! /파치 돼지

컨트롤러

PlayerController.cs

스페이스 _1_to_N.Controllers {

public class PlayerController : Controller 
{ 
    private _1_to_NContext db = new _1_to_NContext(); 

    // GET: Player 
    public ActionResult Index() 
    { 
     var players = db.Players.Include(p => p.Team); 
     return View(players.ToList()); 
    } 

TeamController.cs

네임 스페이스 _1_to_N.Controllers {

public class TeamController : Controller 
{ 
    private _1_to_NContext db = new _1_to_NContext(); 

    // GET: Team 
    public ActionResult Index() 
    { 
     return View(db.Teams.ToList()); 
    } 

모델 :

네임 스페이스 _1_to_N.Models.cs

{ 공용 클래스 _1_to_NContext : DbContext {

public _1_to_NContext() : base("name=_1_to_NContext") 
    { 
    } 

    public System.Data.Entity.DbSet<_1_to_N.Models.Team> Teams { get; set; } 

    public System.Data.Entity.DbSet<_1_to_N.Models.Player> Players { get; set; } 

} } 

Player.cs

네임 스페이스 _1_to_N.Models {

public class Player 
{ 
    public int PlayerId { get; set; } 
    public string Name { get; set; } 
    public int TeamId { get; set; } 

    public virtual Team Team { get; set; } 
} } 

Team.cs

네임 스페이스 _1_to_N.Models {

public class Team 
{ 
    public int TeamId { get; set; } 
    [Required] 
    public string Name { get; set; } 
    public string City { get; set; } 
    public DateTime Founded { get; set; } 

    public virtual ICollection<Player> Players { get; set; } 
} } 

답변

1

당신은 Player에에 Team 속성을 변경해야합니다

public virtual ICollection<Team> Teams { get; set; } 

엔티티 프레임 워크는 자동으로 M2M이 존재 분별과 조인 테이블을 생성합니다.

+0

대단히 감사합니다! 좋아, 이제 올바른 ID를 가진 조인 테이블을 볼 수 있습니다 : s, 그리고 지금은 TeamId와 PlayerId에 조인트 테이블에 값을 저장하고 싶습니다 ... 더 나아가 드롭 다운 메뉴는 위의 코드를 작성할 때 팀보기에서 사라졌습니다 ... –

+0

M2M 관계를 편집하는 방법은 약간 다르며 좀 더 복잡합니다. 나는 당신을 도울 가능성이있는 세부 사항을 다루는 방법을 다루는 글을 가지고있다 : http://cpratt.co/associating-related-items-in-a-collection-via-a-listbox/ –

+0

귀찮게해서 죄송합니다. 당신이 다시..나는 지금 일주일 동안 노력하고있어, 내 간단한 예제에서 코드를 작성하여 내 기본 ID, TeamId 및 PlayerID가 Joint Table에 저장되도록하는 방법은 어렵지만, 그러나 myaybe 나의 두뇌는 느린 것입니다. 시간을내어 주셔서 감사합니다. –