2014-03-01 71 views
0

我正在開發.NET MVC中的應用程序,我目前正試圖從兩個表(模型)並通過ViewModel將列表發送到我的視圖。下面你可以看到我的兩個原始模型和視圖模型MVC,foreach語句無法對類型變量進行操作,因爲它不包含'GetEnumerator'的公共定義

 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

嘗試使用'&&'而不是'&'。應該是編譯器錯誤,而不是GetEnumerator的東西......但值得一試 –

回答

4

我能找到我的問題的原因。

在我的視圖的頂部,我宣佈什麼型號的觀點會採取我有它宣佈爲這樣:

@Model FarmManager.ViewModels.CowIndexVM 

我沒有具體說明該模型是IEnumerable類型的。下面的代碼做的竅門

@model IEnumerable<FarmManager.ViewModels.CowIndexVM> 
相關問題