У меня есть набор идентификационных номеров, на которые я хочу вернуть какой-либо объект, я делаю это, используя инструкцию linq, где используется инструкция содержит:Linq Где Содержит ... Сохранить по умолчанию
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?
Благодаря
Извините, у вас нет времени на полный ответ, но я могу дать вам подсказку. Это связано с присоединением вашего идентификационного списка к списку категорий вместо использования 'where ... contains' – Ray
Я думаю, проблема в том, что для SQL нет порядка, если вы не заказываете явно. SQL может возвращаться в любом порядке, поэтому сохранить его по умолчанию не будет. – Euphoric