-4

ASP.NET MVC は初めてです。ネストされた、またはカスケードされた 3 つのクラス (Sport>Tournament>TournamentEvent) から複合ビューモデルを構築する必要があります。

public class Sport
{
    public int Id { get; set; }
    public string SportName { get; set; }
    public virtual ICollection<Tournament> Tournaments { get; set; }
}

public class Tournament
{
    public int Id { get; set; }
    public string TournamentName { get; set; }
    public int SportId { get; set; }
    public virtual ICollection<TournamentEvent> TournamentEvents { get; set; }
}

public class TournamentEvent
{
    public int Id { get; set; }
    public string EventName { get; set; }
    public int TournamentId { get; set; }
}

ご覧のとおり、各スポーツにはトーナメントのコレクションが含まれており、各トーナメントにはイベントのコレクションが含まれています。次のように、順序なしリストを作成する必要があります。

    <li> Soccer
        <li>English Premier League
            <li>Chelsea v Arsenal</li>
        </li>
    </li>

ビューに渡すために、linqを使用して複合ビューモデルを構築する必要がありますが、それを理解することはできません。助けてください

4

3 に答える 3

0

トム、それはうまくいかないと思います。TournamentクラスとTournamentEventクラスにアクセスする必要があり、それらをオブジェクトにロードする必要があります。オブジェクトは、linqの出番です。SportsControllerの場合:

public partial class SportsController : Controller
{
    private MyDb db = new MyDb();

public virtual ActionResult Index()
    {
      var menuObject = from s in db.Sports
                         select s;

      return View(menuObject);
     }
}
于 2013-03-08T06:35:34.950 に答える
0

Sport のリストを含む親の vie モデルが必要なだけではありませんか?

public class Sport
{
    public List<Sport> Sports { get; set; }
}

カミソリを使用してコレクションを反復処理できます。

linqがどこに入ると思うかを明確にできますか? スティックの端を間違えたのかもしれません。

于 2013-03-07T17:06:52.030 に答える