我正在.NET MVC中开发一个应用程序,我正在尝试从两个表(模型)中提取记录列表,并通过ViewModel将列表发送到我的视图。您可以在下面看到我的两个原始模型和ViewModel
public partial class Animal
{
public int AnimalId { get; set; }
public Nullable<int> UserId { get; set; }
public string TagNo { get; set; }
public Nullable<int> Species { get; set; }
public Nullable<bool> Sex { get; set; }
public Nullable<int> AnimalBreed { get; set; }
public Nullable<System.DateTime> DOB { get; set; }
public Nullable<int> OwnershipStatus { get; set; }
public Nullable<System.DateTime> DateAdded { get; set; }
public Nullable<bool> BornOnFarm { get; set; }
public virtual Breed Breed { get; set; }
}
public partial class Breed
{
public int id { get; set; }
public Nullable<int> SpeciesID { get; set; }
public string Breed1 { get; set; }
}
public partial class CowIndexVM
{
public string TagNo { get; set; }
public string AnimalBreed { get; set; }
public Nullable<System.DateTime> DateAdded { get; set; }
}
在这里你可以看到我用来控制器的代码来选择一个记录列表,然后我将在视图的表格中显示
List <CowIndexVM> myCowIndexVM = (from animals in db.Animals
join aBreed in db.Breeds on animals.AnimalBreed equals aBreed.id
where animals.Species == 2 & animals.OwnershipStatus == 1
& animals.UserId == WebSecurity.CurrentUserId
orderby animals.DateAdded descending
select new CowIndexVM
{
TagNo = animals.TagNo,
AnimalBreed = aBreed.Breed1,
DateAdded = animals.DateAdded
}).ToList();
return View("Index", myCowIndexVM);
但是当我尝试运行时,我得到上面显示的错误。
任何人都可以帮助我吗?为了清楚起见我试图在表中显示检索到的记录
由于
答案 0 :(得分:4)
我能够找到问题的原因。
在我的视图顶部,我宣布视图将采用什么模型,我将其声明为:
@Model FarmManager.ViewModels.CowIndexVM
我没有指定Model是IEnumerable类型。以下代码完成了这个技巧
@model IEnumerable<FarmManager.ViewModels.CowIndexVM>