ASP.NET MVC 4 Model – Table Relation ( Joining )
\Models\League.cs |
using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace CRMPortal.Models { public class League { [Key] public int League_ID { get; set; } public String League_Name { get; set; } public int League_Nation { get; set; } public virtual ICollection<Team> League_Team { get; set; } } } |
\Models\Team.cs |
using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace CRMPortal.Models { public class Team { [Key] public int Team_ID { get; set; } public String Team_Name { get; set; } public int Team_League { get; set; } [ForeignKey("Team_League")] public League League { get; set; } } } |
\Models\SoccerContext.cs |
using System; using System.Data.Entity; namespace CRMPortal.Models { public class SoccerContext : DbContext { public DbSet<League> League { get; set; } public DbSet<Team> Team { get; set; } public SoccerContext() : base("DefaultConnection") { } } } |
\Controllers\HomeController.cs |
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using CRMPortal.Models; namespace CRMPortal.Controllers { public class HomeController : Controller { … … public ActionResult Team() { var db = new SoccerContext(); return View(db.Team.Include("League").ToList()); } public ActionResult League() { var db = new SoccerContext(); return View(db.League.Include("League_Team").ToList()); } } } |
\Views\Home\Team.cshtml |
@model List<CRMPortal.Models.Team> … … @foreach (CRMPortal.Models.Team item in Model) { <div>@(item.Team_Name)</div> <div>@(item.League.League_Name)</div> } |
\Views\Home\League.cshtml |
@model List<CRMPortal.Models.League> … … @{ foreach (CRMPortal.Models.League LeagueItem in Model) { <div>@(LeagueItem.League_Name)</div> foreach (CRMPortal.Models.Team TeamItem in LeagueItem.League_Team) { <div>@(TeamItem.Team_Name)</div> } } } |