Pozdrav,
početnik sam i radim na jednoj manjoj "izmišljenoj" web aplikaciji koristeći asp.net mvc s entity frameworkom (code first approachom). Na prikazu podataka u tablici ne znam kako da prikažem podatke iz druge tablice, detaljnije objašnjeo, primjerice, imam model Turist, JedinicaIznajmljivanja, Objekt i Mjesto i Iznajmljivanje. Mjesto je vezano na Objekt, JedinicaIznajmljivanja je vezana na Objekt (veze 1: n), a Iznajmljivanje se sastoji od primarnih ključeva iz JediniceIznajmljivanja i Turista. Objekt je zamišljeno da je to recimo neki hotel a jedinicaIznajmljivanja jedna soba u tome hotelu, nije sada bitno je li informacijski sustav logičan ili nije jer me sličan problem muči na još mjesta.
Kada u controleru za Iznajmljivanje "slažem" ono što ću dati u View, mogu Includeat samo ono što je vezano na Iznajmljivanje (Turista i JedinicuIznajmljivanja), ne mogu vezati Objekt ili Mjesto, tj njihove atribute.
public ActionResult Index()
{
var iznajmljivanje = _context_iznajmljivanje.Iznajmljivanje
.Include(a => a.JedinicaIznajmljivanja)
.Include(a => a.Turist)
.ToList();
return View(iznajmljivanje);
}
Ukoliko napišem još jedan .Include(a => a.Objekt) to ne prolazi pa pretpostavljatm jer nije dikretno vezano na Iznajmljivanje nego je vezano na JedinicuIznajmljivanja, a na Objekt mi je vezano Mjesto. Htio bih u prikazu Iznajmljivanja prikazati i naziv mjesta koji se nalazi u modelu Mjesto ili neki atribut koji je vezan direktno na Objekt poput adrese. Znači ovo u Viewu ne prolazi:
@foreach (var item in Model) {
<tr>
<td>
@item.JedinicaIznajmljivanja.Objekt.Mjesto.NazivMjesta
</td>
...
}
Svjestan sam da sam možda od početka počeo krivo raditi, ali sada je kasno, ako bi netko imao neki jednostavan i dobar prijedlog bio bih vezaom zahvalan. :)