0

アプリケーションで SimpleMembership ステップを完了した後、別の問題が発生しました...

namespace Korbball.Models
{
    public class GamesContext : DbContext
    {
        public GamesContext()
            : base("KorbballDBContext")
        {
        }

        public DbSet<Games> Games { get; set; }
        public DbSet<Teams> Teams { get; set; }
    }
    public class Games
    {
        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public int GameId { get; set; }
        public int TeamA { get; set; }
        public int TeamB { get; set; }
        public int ResultA { get; set; }
        public int ResultB { get; set; }
        public int League { get; set; }
        public DateTime StartDate { get; set; }
        public Boolean Finished { get; set; }
    }

    public class Teams
    {
        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public int TeamId { get; set; }
        public string TeamName { get; set; }
    }
}

私の目標は、結果のあるゲームなどを作成することです。TeamA & TeamB 列は、Teams テーブルの TeamID である必要があります。

正しい関係を設定するために必要な手順は何ですか。

追加情報:

ゲームテーブル ->

GamesID = 1
TeamA = 1
TeamB = 2
ResultA = 10
ResultB = 8

チーム表 ->

TeamId = 1 
TeamName = "Manchester"

TeamId = 2
TeamName = "Zurich"

ビューで ->

Manchester 10 : 8 Zurich
4

2 に答える 2

-1

OK、コードを次のように変更しました。

public class GamesContext : DbContext
{
    public GamesContext()
        : base("KorbballDBContext")
    {
    }

    public DbSet<Games> Games { get; set; }
    public DbSet<Teams> Teams { get; set; }
}
public class Games
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int GameId { get; set; }
    public virtual Teams TeamA { get; set; }
    public virtual Teams TeamB { get; set; }
    public int ResultA { get; set; }
    public int ResultB { get; set; }
    public int League { get; set; }
    public DateTime StartDate { get; set; }
    public Boolean Finished { get; set; }
}

public class Teams
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int TeamId { get; set; }
    public string TeamName { get; set; }
}

私のコントローラーは次のようになります。

public class GamesController : Controller
{
    GamesContext db = new GamesContext();

    //
    // GET: /Games/

    public ActionResult Index()
    {
        var games = from game in db.Games
                    join teama in db.Teams on game.TeamA.TeamId equals teama.TeamId
                    join teamb in db.Teams on game.TeamB.TeamId equals teamb.TeamId
                    select game;

        return View(games.ToList());
    }
}

@foreach (var item in Model) {
<tr>
    <td>
        @Html.DisplayFor(modelItem => item.TeamA.TeamName)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.ResultA)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.ResultB)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.TeamB.TeamName)
    </td>
</tr>

}

于 2013-09-10T09:33:52.160 に答える