J'ai deux collections, OrderItems et Items. La raison en est que dans mon modèle j'ai un Item qui est fixe, et un OrderItem qui se rapporte à un Item et ajoute des informations spécifiques à l'ordre telles que la quantité et une propriété (OrderID) qui renvoie à mon objet Order.Dans ASP.NET MVC, Comment synchroniser ou combiner deux collections de types différents
Dans Entity Framework 4, pour disposer d'une collection d'objets dans un modèle, vous devez vous reconnecter à ce modèle dans l'objet du type de collection. Cela rend la propriété OrderID dans Item nécessaire.
Voici le POCO est dans le code: Alors maintenant
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; }
}
J'ai mes modèles, et je veux afficher une page Détails de la commande. Je peux envoyer l'ordre à ViewModel (MVC 3) ou ViewData (MVC 2/1) à partir du contrôleur qui fonctionne bien, et je peux également envoyer une collection de Item, mais comment afficher une liste d'éléments qui contiennent à la fois les propriétés de l'objet et la quantité de l'OrderItem? Puisque les deux sont des collections, je pourrais OrderBy ItemID et faire un looping en même temps dans la vue, mais cela semble vraiment désordonné.
J'ai joué avec la création d'une classe anonyme combinant à la fois Items et Order, mais cela n'a pas vraiment fonctionné quand il s'agissait de combiner les collections.
Je veux essentiellement à boucle à travers chaque élément et OrderItem et afficher les propriétés suivantes, sans le faire dans la vue:
Nom
Description de
Taille
Quantité
idées?
Je crois que ce n'est que pour les entités de suivi de l'auto. – RPM1984
Merci beaucoup, c'était beaucoup plus facile que j'avais espéré: V J'utilise le code-premier EF – George
Virtual -1. C'est moche et anti-OOP. – Aliostad