2016-06-14 6 views
0

Ich muss einige Tabellen beitreten und in cshtml anzeigen, aber ich habe Probleme mit dem Modell. Ich erhalte Fehler:Wie verknüpfte Tabellen in cshtml anzuzeigen

"Das in das Wörterbuch übergebene Modellelement ist vom Typ 'System.Data.Entity.Infrastructure.DbQuery 1[DziennikASPTest4.Controllers.PROJEKTYController+ProwadzacyProjekty]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable 1 [DziennikASPTest4.Models.ProwadzacyProjekty]'."

Ich habe Abfrage erstellt:

  var projekt = from p in db.PROJEKTY 
         join przedm in db.PRZEDMIOTY on p.id_przedmiotu equals przedm.id_przedmiotu 
         join prow in db.PROWADZACY on przedm.id_prowadzacego equals prow.id_prowadzacego 
         where prow.id_prowadzacego == 1 
         select new ProwadzacyProjekty 
         { 
          PROJEKTY = p, 
          PRZEDMIOTY = przedm, 
          PROWADZACY = prow 

         }; 
     return View(projekt); 

und Modell:

public class ProwadzacyProjekty 
    { 
     public PROJEKTY PROJEKTY { get; set; } 
     public PRZEDMIOTY PRZEDMIOTY { get; set; } 
     public PROWADZACY PROWADZACY { get; set; } 
    } 

und ich versuche, es in cshtml anzuzeigen:

@model IEnumerable<DziennikASPTest4.Models.ProwadzacyProjekty> 
@foreach (var item in Model) 
{ 
    <div>@item.PROJEKTY.opis</div> 
} 

Wie soll ich nehme an, es zu tun?

Antwort

0

Lösen Sie Ihre Abfrage mit .ToList(), bevor Sie es in die Ansicht zurückgeben.

return View(projekt.ToList()); 

Überprüfen Sie auch den Namespace des neuen Modells, um sicherzustellen, dass Sie den richtigen Typ anstelle eines generierten Entitätstyps erstellen.

select new DziennikASPTest4.Models.ProwadzacyProjekty 
{ 
    PROJEKTY = p, 
    PRZEDMIOTY = przedm, 
    PROWADZACY = prow 
}; 
+0

Problem war mit dem Namespace. Unglaublich .. Thx 4 help – scof93

+0

Gerne helfen !! –