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>
}
}