2014-01-21 36 views
0

我真的很新的MVC和我想的那一刻传递一个过滤列表,MVC视图

学习它,我有一个持有用户动物的应用程序。内置MVC汽车脚手架创建此代码对我来说它会在我的BD

return View(db.Animals.); 

如何修改这个代码显示动物名单?或者什么样的代码会产生相同的结果,但只有动物其他种类是“牛”。我想:

Animal Animal1 = (from animals in db.Animals 
        where animals.Species == "Cow" 
        select animals).FirstOrDefault(); 

return View(Animal1); 

但我得到一个错误说“的观点需要一个IEnumerable<>”。任何帮助将不胜感激。谢谢。

+0

您正在传递的动物类的单个对象不是列表,删除FirstOrDefault() –

回答

1

FirstOrDefault给你的第一个实体。如果你想与Species == "Cow"所有的entites,只需拨打ToList并把它传递给视图:

List<Animal> cows = (from animals in db.Animals 
         where animals.Species == "Cow" 
         select animals).ToList(); 

return View(cows); 

否则,如果你想只显示一个实体,你需要创建Animal类(类型不同于IEnumerable<Animal>另一种观点认为你很可能现在有)。

+0

谢谢安德烈.. – user2437588