Ich verwende eine Klasse zum Speichern von Daten und dann mit Controller und einer Ansicht, um die Daten auf dem Bildschirm auf einer Website mit MVC3 anzuzeigen, aber ich stoße auf einen Fehler, Hilfe wäre willkommen.Sequenz enthält keine Elemente
Klasse:
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));
}
}
}
Controller:
public ActionResult Browse(string genre)
{
var productionModel = storeDB.Productions.Include("Performances")
.Single(g => g.Name == genre);
return View(productionModel);
}
Ausblick:
@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>
Der Fehler:
Sequence contains no elements
Was sind Sie Ansicht Modell? – MikeSW
vor Ihrer 'foreach' hinzufügen etwas wie' @if (Model.Performances) 'zu überprüfen, ob die Sammlung ist 'null' – MilkyWayJoe