2010-08-25 82 views
1

我有几个表格,商品清单,ListingImages以及一些与商品相关的其他商品。 ListingImages与列表相关,因此每个列表可以有多个ListingImages。订购Linq to Entities查询中订购商品中的子商品

当我查询这张表时,

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(); 

现在这很好。但是,我现在想要在每个清单中独立地对ListingImages进行排序(通过我在该表中的ImageOrder列)。

我该如何做到这一点,并通过我所有的包括(...)。这种解决方案似乎有效,在视图中排列ListingImages会不会是一种糟糕的形式?

干杯

回答

1

我认为你将不得不将它在视图中进行排序,因为如果你希望每个组有不同的排序,你必须这样做手工。唯一的选择是将其复制到字典或列表结构中,并按照顺序对其进行排序和复制,然后从控制器中将其返回,但我甚至不知道从哪一个开始。

我不认为对视图进行排序是不好的形式,因为它是UI逻辑的一部分(或者是UI的需求)......在视图内查询数据将会是一种糟糕的形式,并且不要小心把太多的逻辑放进去(我不知道你在谈论的复杂性),但只要它是唯一的排序,我认为没关系。

HTH。

+0

感谢您的回答Brian。这是一个简单的排序,所以我只是在视图中做。 – sheefy 2010-08-25 12:03:28