2016-06-17 10 views
0

Modell:Modell Artikel übergeben entspricht nicht IEnumerable

public class Tables: DbContext 
{ 
    public IEnumerable<Thing> Thing { get; set; } 
    public List<Thing2> Thing2 { get; set; } 

    public System.Data.Entity.DbSet<Example.MainTable> MainTables { get; set; } 

    public System.Data.Entity.DbSet<Example.Table2> Tables2 { get; set; } 

} 

Ausblick:

@model IEnumerable<Example.MainTable> 

Controller:

public ActionResult ABC() 
    { 
     var model = new Example.Models.Tables(); 

     string ABC = "ABC"; 

     model.MainTables = db.Example.Where(d => d.ColumnName.Contains(ABC)).ToList(); 

     model.Tables2 = (from d in db.MainTables.ToList() 
           join j in db.Tables2.ToList() on d.AssignID equals j.ID 
           select new Tables2() { Name = j.Name }); 

     List<Tables> allTables = new List<Tables>(); 
     allTables.Add(model); 
     return View(allTables); 
    } 

Fehlermeldung:

Die mod el item, das an das Wörterbuch übergeben wird, ist vom Typ System.Collections.Generic.List 1[Example.Models.Tables], but this dictionary requires a model item of type System.Collections.Generic.IEnumerable 1 [Example.MainTable].

Versuch 2 (deleted die letzten 2 Zeilen vor der Rückkehr in der Steuerung und ersetzt):

return View(model); 

Fehlermeldung:

Der Artikel Modell in das Wörterbuch übergeben ist vom Typ ' Example.Models.Tables ', aber dieses Wörterbuch benötigt ein Modellelement vom Typ' System.Collections.Generic.IEnumerable '1 [Example.MainTable]'.

Wie kann ich das beheben?

Antwort

0

Entweder das Modell @model IEnumerable<Example.Tables> auf Ihrer Ansicht oder folgende Änderungen in Ihrem Controller machen ändern

List<MainTable> allTables = new List<MainTable>(); 
allTables.Add(model.MainTables); 
Verwandte Themen