Following is my entities.
public class Expense
{
   [Key]
   [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int ExpenseId { get; set; }
   [Required]
   public int CategoryId{ get; set; }
   [ForeignKey("CategoryId")]
   public virtual Category Category { get; set; }
   public virtual List<EditedExpense> EditedExpenses { get; set; }
}
public class EditedExpense
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int EditedExpenseId { get; set; }
    [Required]
    public int CategoryId{ get; set; }
    [ForeignKey("CategoryId")]
    public virtual Category Category { get; set; }
    public int ExpenseId { get; set; }
}
public class Category
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int CategoryId{ get; set; }
    public string Title
    public virtual List<Expense> Expenses { get; set; }
    public virtual List<EditedExpense> EditedExpenses { get; set; }
}
I have used this code to get all Expanses and EditedExpanses
  var expenses = db.Expenses.Include(exp => exp.EditedExpenses).Include(exp => exp.Category);
   return View(expenses.ToList());
Now I want to go through all Expanses and thier EditedExpanse using two foreach loop like following, but it casts an exception when it tries to get the Category of the EditedExpense:
foreach(exp in expansesList)
{
    foreach(editedExp in exp.EditedExpanses)
    {
       <text>@editedExp.Category.Title</text>
    }
}
 
     
    