2012-04-13 11 views
1

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 
+0

Was sind Sie Ansicht Modell? – MikeSW

+0

vor Ihrer 'foreach' hinzufügen etwas wie' @if (Model.Performances) 'zu überprüfen, ob die Sammlung ist 'null' – MilkyWayJoe

Antwort

1

Sie haben keine Liste, Sie haben nur ein Element. Nehmen Sie die foreach Schleife heraus.

+0

Ich hatte ursprünglich eine Liste, aber ich nahm einige der Liste wegen der Fehler aufgetreten und gerade verlassen ein Element, um es zu testen – user1300580

+0

@ user1300580 - Versuchen Sie, eine ausführlichere Ansicht Modell, Entity-Modelle funktionieren nicht gut als Ansicht Modelle. –

+0

Wie würde ich das tun? – user1300580

0

Verwaltet, um das Problem zu lösen, geändertes Genre in die Produktion auf dem Controller

Verwandte Themen