在Linq to Entities Query中对有序项内的子项进行排序

时间:2010-08-25 11:14:46

标签: asp.net-mvc linq-to-entities sql-order-by

我有一些表,列表,ListingImages和其他一些与列表相关的内容。 ListingImages与Listings相关,因此您可以在每个列表中包含许多ListingImages。

当我查询此表时,我这样做;

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列)。

我该怎么做并通过我的所有包含(...)。在View中对ListingImages进行排序是不是很糟糕,因为这个解决方案似乎有效吗?

干杯

1 个答案:

答案 0 :(得分:1)

我认为您将不得不在视图中对其进行排序,因为如果您希望每个组都有不同的排序,则必须手动执行此操作。唯一的另一种选择是将其复制到字典或列表结构中,然后按顺序对其进行排序和复制,然后从控制器返回...但我甚至不知道从哪一个开始。

我不认为视图上的排序是不好的形式,因为它是UI逻辑的一部分(或者无论如何都需要UI)...在视图中查询数据是不好的形式,并且注意不要把太多的逻辑放入(我不知道你所说的复杂性),但只要它只是排序,我认为没关系。

HTH。