Linq Где содержит… Сохранить порядок по умолчанию

У меня есть набор идентификационных номеров, для которых я хочу вернуть какой-то объект , Я делаю это с помощью оператора linq, где используется оператор contains:

var recentCats = (from i in EntityCache.Default.GetAll<Categories>()
                          where WebProfile.Current.RecentlyCreatedCategories.Contains(i.Id)
                          && BoundCategory.ParentItemClass.Id.Equals(i.ParentItemClass.Id)
                          select new CategoryInfo()
                          {
                              Category = i,
                              ClassId = i.ParentItemClass.Id,
                              ClassImage = NamedResourceManager.GetResourceBinary(i.ParentItemClass.NameResourceId)
                          });

Это работает отлично, за исключением того, что я хочу сохранить порядок элементов в возвращаемой коллекции таким же, как и в списке. это входит. Так, например, если бы у меня был список идентификаторов: 14, 603, 388, я хочу, чтобы возвращаемые объекты были в том же порядке, а не в том порядке, в котором они возвращаются кешем. Есть ли какие-либо способ сделать это во фреймворке сущности или сделать это без написания цикла foreach?

Спасибо

6
задан Gent 29 December 2011 в 18:35
поделиться