2010-08-25 2 views
1

J'ai quelques tables, Listings, ListingImages et quelques autres liés aux Listings. ListingImages est lié aux listes de sorte que vous pouvez avoir plusieurs ListingImages par Listing.Commander des sous-postes dans les articles commandés dans une requête Linq to Entities

Lorsque j'interroge cette table, je le fais;

IQueryable<Listing> ListingToSendToView = (from x in DBEntities.ListingSet.Include("ListingImages") 
                      .Include("OtherTables") 
              where x.Listing.ID == (int)LID 
              orderby x.ID descending 
              select x).First(); 

Maintenant c'est bien. Cependant, je veux maintenant trier les ListingImages indépendamment dans chaque Listing (par une colonne ImageOrder que j'ai dans cette table).

Comment puis-je faire cela et passer tous mes includes (...). Est-ce que ce serait une mauvaise forme de trier les ListingImages dans la vue, car cette solution semble fonctionner?

Vive

Répondre

1

Je pense que vous allez devoir trier dans la vue, parce que si vous voulez que chaque groupe d'avoir un tri différent, vous devez le faire manuellement. La seule autre option est de le copier dans un dictionnaire ou une structure de liste et de le trier et de le copier dans l'ordre, puis de le renvoyer du contrôleur ... bien que je ne sache même pas par où commencer. Je ne pense pas que trier sur la vue est une mauvaise forme, parce que cela fait partie de la logique de l'interface utilisateur (ou des besoins de l'interface de toute façon) ... il serait mauvais d'interroger les données dans la vue, et attention pour mettre trop de logique (je ne connais pas la complexité dont vous parlez), mais tant que c'est le seul tri, je pense que c'est OK.

HTH.

+0

Merci pour votre réponse Brian. C'est un tri simple donc je vais le faire dans la vue. – sheefy