Witajcie. Mam takie 2 klasy:
public class Walor
{
[Key]
public int WalorID { get; set; }
public string Nazwa { get; set; }
public List<Notowanie> Notowania { get; set; }
}
public class Notowanie
{
[Key]
public int NotowanieID { get; set; }
public string DataNotowania { get; set; }
public decimal KursOtwarcia { get; set; }
public decimal KursMin { get; set; }
public decimal KursMax { get; set; }
Dodalem do bazy danych (poprzez context.walory.add() ) 2 obiekty Walor, w kazdym z nich zainicjalizowalem do listy Notowania po 4 obiekty Notowanie. Wszystko sie ladnie dodało do bazy, do tabeli Notowanie utworzyl sie klucz obcy, na moje oko jest wszystko ok. Czyli mam w bazie 2 wiersze w tabeli Walors i 8 wierszów w tabeli Notowanies.
Utworzylem repozytorium:
public class EFWalorRepository : IWalorRepository
{
private EFContext context = new EFContext();
public IEnumerable<Walor> Walory
{
get { return context.Walory; }
}
które wstrzykuje do kontrolera i przekazuje do widoku:
public class WalorController : Controller
{ private IWalorRepository repository;
public WalorController(IWalorRepository repository)
{
this.repository = repository;
}
public ViewResult List()
{
return View(repository.Walory);
}
}
a oto mój widok:
@using Domain.Entities
@model IEnumerable< Domain.Entities.Walor>
@foreach (var walor in Model)
{
<div>
<h3>@walor.Nazwa</h3>
@foreach (var noto in walor.Notowania)
{
<h3>Data notowania @noto.DataNotowania</h3>
<h1>Kurs max @noto.KursMax</h1>
<h1>Kurs min @noto.KursMin</h1>
}
</div>
}
Mam problem w linii:
@foreach (var noto in walor.Notowania)
wywala blad: Object reference not set to an instance of an object.
Pogrzebalem debuggerem i okazalo sie ze otrzymuje z kontrolera 8 walor'ów, zamiast oczekiwanych 2. W kazdym walorze lista Notowania jest null'em.
Proszę naprowadzcie mnie na wlasciwy trop bo juz trzecia godzine sie z tym mecze :(