I have two tables - Order and MenuItem with many-to-many relation.
public class Order
{
[Key]
public int OrderId { get; set; }
public DateTime OrderDate { get; set; }
public string Comments { get; set; }
public string OrderStatus { get; set; }
public string WaiterName { get; set; }
public double TotalPrice { get; set; }
public virtual ICollection<MenuItem> MenuItems { get; set; }
}
public class MenuItem
{
[Key]
public int MenuItemId { get; set; }
public string Name { get; set; }
public double Price { get; set; }
public int MenuItemTypeId { get; set; }
public MenuItemType MenuItemType { get; set; }
public virtual ICollection<Order> Orders { get; set; }
}
public class OrderMenuItem
{
public int MenuItemId { get; set; }
public int OrderId { get; set; }
public Order Order { get; set; }
public MenuItem MenuItem { get; set; }
}
modelBuilder.Entity<MenuItem>()
.HasMany(m => m.Orders)
.WithMany(o => o.MenuItems)
.UsingEntity<OrderMenuItem>(
x => x.HasOne(x => x.Order)
.WithMany().HasForeignKey(x => x.OrderId),
x => x.HasOne(x => x.MenuItem)
.WithMany().HasForeignKey(x => x.MenuItemId)
);
The question is how can I retrieve MenuItems that are in certain order and show the data using the ListView?