1

クラスを使用してデータを保存し、コントローラーとビューを使用して、MVC3 を使用して Web サイトの画面にデータを表示していますが、エラーが発生しています。助けていただければ幸いです。

クラス:

public class SampleData : DropCreateDatabaseIfModelChanges<TicketBookingEntities>
    {
        protected override void Seed(TicketBookingEntities context)
        {
            var productions = new List<Production>
            {
                new Production { Name = "Peter Pan" },
                new Production { Name = "Mary Poppins" },
                new Production { Name = "Pirates of the Carribean" },
                new Production { Name = "Joseph" },
                new Production { Name = "Billy Elliot" },

            };

            var directors = new List<Director>
            {
                new Director { Name = "Jason Brown" },
                new Director { Name = "Dan Elish" },
                new Director { Name = "Lee Hall" },
                new Director { Name = "Billie Armstrong" },
                new Director { Name = "Willy Russell" },

            };

            new List<Performance>
            {


                new Performance {Title = "Test", Genre = productions.Single(g => g.Name == "Peter Pan"), Director = directors.Single(a => a.Name == "Jason Brown"), Price = 9.99M, AlbumArtUrl = "/Content/Images/placeholder.gif" },


            }.ForEach(a => context.Performances.Add(a));
        }
    }
}

コントローラ:

 public ActionResult Browse(string genre)
        {
            var productionModel = storeDB.Productions.Include("Performances")
                .Single(g => g.Name == genre);

            return View(productionModel);

        }

意見:

@model Assignment2.Models.Production

@{
    ViewBag.Title = "Browse";
}

<h2>Browsing Production: @Model.Name</h2>
<ul>
    @foreach (var performance in Model.Performances)
    {
        <li>
            @performance.Title

        </li>
    }

</ul>

エラー:

Sequence contains no elements
4

2 に答える 2

1

リストはありません。要素は 1 つだけです。foreach ループを取り出します。

于 2012-04-13T18:48:25.387 に答える
0

問題を解決し、コントローラーでジャンルをプロダクションに変更しました

于 2012-04-14T10:23:36.863 に答える