MVC Include invalid error path

controller

public ActionResult Index(int? id)
{
    var userEmail = User.Identity.Name;
    var model = db.Staffs.Where(i => i.Email == userEmail).Include("Histories").Include("CurrentApplications").FirstOrDefault();


    return View(model);
}

I got the following error for a string var model = db.Staffs.Where(i => i.Email == userEmail).Include("Histories").Include("CurrentApplications").FirstOrDefault();, but I don't know why I got it.

Mistake

The specified Include path is invalid. EntityType "StaffPortalDBModel.Staff" does not declare a navigation property with the name "Stories".

Staff class

public partial class Staff
{
    public int StaffID { get; set; }
    public string Name { get; set; }
    public string Email { get; set; }
    public Nullable<decimal> AllocatedLeave { get; set; }
    public Nullable<int> BalanceLeave { get; set; }

    public virtual IEnumerable<History> Histories { get; set; }
    public virtual IEnumerable<CurrentApplication> CurrentApplications { get; set; }
}
+4
source share
1 answer

I believe that you need to use ICollection and not IEnumerable when defining navigation properties. This can be a problem.

( Entity Framework , ), , Staff.cs, .

ie:.Include(s = > s.Histories)

0

Source: https://habr.com/ru/post/1615348/


All Articles