MVC, foreach не может работать с переменными типа, поскольку не содержит общедоступного определения для 'GetEnumerator'

Я разрабатываю приложение в.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; }


}
</system.datetime></int></bool></system.datetime></int></system.datetime></int></bool></int></int>

Здесь вы можете увидеть код из контроллера, который я использую, чтобы выбрать список записей, которые я буду отображать в таблице в представлении

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);
</cowindexvm>

Но когда я пытаюсь запустить это, я получаю ошибку, показанную выше.

Может ли кто-нибудь помочь мне с этим? Чтобы быть ясным, я пытаюсь отобразить извлеченные записи в таблице

благодаря

1 ответ

Мне удалось найти причину моей проблемы.

В верхней части моего представления, где я объявлял, какой модель будет восприниматься, я объявила ее так:

@Model FarmManager.ViewModels.CowIndexVM

Я не указывал, что модель имеет тип IEnumerable. Следующий код сделал трюк

@model IEnumerable

licensed under cc by-sa 3.0 with attribution.