Witam,
staram się zrobić prostą aplikacje i mam problem z jedną rzeczą.
public ActionResult KindsList(string kindname)
{
var kind = db.Kinds.Include("Movie").Where(k => k.KindName.ToUpper() == kindname.ToUpper()).Single();
var movies = kind.Movies.ToList();
return View(movies);
}
Gdy mam .Include("Movies") to widok nie działa gdyż mam błąd:
Additional information: A specified Include path is not valid. The EntityType 'Isf.DataAccess.Kind' does not declare a navigation property with the name 'Movie'.
i wartość kindname jest pusta.
Natomiast gdy usunę .Include("Movies") i dodam w url ?kindname=horror
public ActionResult KindsList(string kindname)
{
var kind = db.Kinds.Where(k => k.KindName.ToUpper() == kindname.ToUpper()).Single();
var movies = kind.Movies.ToList();
return View(movies);
}
aplikacja zwraca mi taki błąd:
Additional information: Wartość nie może być zerowa.
w tym wypadku kindname ma wartość "komedia" ale juz movies = null. Rozumiem, że "nie widzi" Movies gdyż pobiera Kinds bez kolekcji Movies... Tylko jak temu zaradzić ?
Klasa Kind:
public class Kind
{
public string KindName { get; set; }
public int KindId { get; set; }
public ICollection<Movie> Movies { get; set; }
}
Klasa Movie:
public class Movie
{
public string MovieName { get; set; }
public string MovieText { get; set; }
public string MovieDirector { get; set; }
public decimal MoviePrice { get; set; }
public int MovieId { get; set; }
public int KindId { get; set; }
public string Cover { get; set; }
public bool IsOrNot { get; set; }
public bool Recommended { get; set; }
public DateTime Added { get; set; }
public virtual Kind Kind { get; set; }
}
DbSety:
public DbSet<Movie> Movies { get; set; }
public DbSet<Kind> Kinds { get; set; }
Pozdrawiam