序列不包含任何元素
我正在使用一个类来存储数据,然后使用控制器和视图来显示网站上的屏幕上的数据使用MVC3但是我遇到了一个错误,帮助将不胜感激。序列不包含任何元素
类别:
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
您没有列表,只有一个元素。取出foreach循环。
我原本有一个列表,但是我列出了一些列表,因为发生了错误而只剩下了测试它的一个项目 – user1300580 2012-04-13 18:49:47
@ user1300580 - 尝试制作更详细的视图模型,实体模型不能很好地用作视图模型。 – 2012-04-13 18:50:33
我该怎么做? – user1300580 2012-04-13 18:53:47
管理解决问题,改变控制器上的流派到生产
你是什么模型? – MikeSW 2012-04-13 18:51:10
在你的'foreach'之前加上'@if(Model.Performances)'来检查这个集合是否是'null' – MilkyWayJoe 2012-04-13 18:51:14