У меня есть две коллекции, OrderItems и Items.Причина в том, что их два, потому что в моей модели у меня есть фиксированный Item и OrderItem, который относится к Item и добавляет специфичную для заказа информацию, такую как количество и свойство (OrderID), которое связано с моим объектом Order.
В Entity Framework 4, чтобы иметь коллекцию объектов в модели, необходимо вернуться к этой модели в объекте типа коллекции.Это делает необходимым свойство OrderID в Item.
Вот код POCO:
public class Order {
public int OrderID { get; set; }
public DateTime DatePlaced { get; set; }
public bool Filled { get; set; }
public string Comment { get; set; }
public virtual ICollection<OrderItem> OrderItems { get; set; }
}
public class OrderItem {
public int OrderItemID { get; set; }
public int OrderID { get; set; }
public int Quantity { get; set; }
public int ItemID { get; set; }
}
public class Item {
public int ItemID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public int Size { get; set; }
}
Так что теперь у меня есть мои модели, и я хочу отобразить страницу с деталями заказа.Я могу отправить Заказ через ViewModel (MVC 3) или ViewData (MVC 2/1) с контроллера, который работает нормально, и я могу также отправить коллекцию Item, но как мне отобразить список Предметов, которые содержатоба свойства элемента и количество из OrderItem?Так как оба являются коллекциями, я мог бы OrderBy ItemID и циклически обрабатывать оба в представлении одновременно, но это кажется действительно грязным.Это действительно работает, когда дело доходит до объединения коллекций.
Я хочу циклически просмотреть каждый Item и OrderItem и отобразить следующие свойства, не делая этого в представлении:
Имя
Описание
Размер
Количество
Идеи?