Asp.net mvc 4 序列不包含匹配的元素

Asp.net mvc 4 序列不包含匹配的元素,asp.net-mvc-4,entity-framework-6,Asp.net Mvc 4,Entity Framework 6,我在一家衬衫店的mvc 4应用程序中有一个子类别模型,我想使用种子数据填充数据库运行应用程序时,收到错误消息:“序列不包含匹配元素” 我的代码: var subCategories = new List<SubCategory> { new SubCategory{Category = categories.Single(s => s.Name == "Animals") , Name "Animal Prints"}, new SubC

我在一家衬衫店的mvc 4应用程序中有一个子类别模型,我想使用种子数据填充数据库运行应用程序时,收到错误消息:“序列不包含匹配元素”

我的代码:

    var subCategories = new List<SubCategory>
        {
    new SubCategory{Category = categories.Single(s => s.Name == "Animals") , Name "Animal Prints"},
    new SubCategory{Category = categories.Single(s => s.Name == "Animals") , Name = "Bugs"},
        };
var子类别=新列表
{
新的子类别{Category=categories.Single(s=>s.Name==“Animals”),名称“animalprints”},
新的子类别{Category=categories.Single(s=>s.Name==“动物”),Name=“Bugs”},
};

原因是您的类别中没有任何名称为“动物”的条目 如果你想检查的话

   var categorie = categories.where(s => s.Name == "Animals").SingleOrDefault();

   if(categories == null)
   {
     // db is not seeded with categories do something
   }
   else
   {     

        var subCategories = new List<SubCategory>
        {
           new SubCategory{Category = categorie  , Name "Animal Prints"},
           new SubCategory{Category = categorie  , Name = "Bugs"},
        };
   }
var categorie=categories.where(s=>s.Name==“动物”).SingleOrDefault();
如果(类别==null)
{
//db不是用categories做种子的
}
其他的
{     
变量子类别=新列表
{
新的子类别{Category=categorie,名称为“动物印”},
新的子类别{Category=Category,Name=“Bugs”},
};
}
类别。单个(s=>s.Name==“动物”)
-没有名称为“动物”的类别。虽然您可以使用
SingleOrDefault
,但稍后可能会出现NullReferenceException(或不正确的类别树)-可能需要确保该类别存在,和/或找出它不存在的原因。