小编Mat*_*ins的帖子

Linq Where Contains ...保持默认顺序

我有一个ID号的集合,我希望返回一些对象,我是通过使用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)
                          });
Run Code Online (Sandbox Code Playgroud)

这完全正常,除了我想保持返回集合中的项目顺序与它们在列表中的顺序相同.例如,如果我有一个ID列表:14,603,388,我想要返回的对象的顺序不同,而不是缓存返回的顺序.有没有办法在实体框架中执行此操作,或以任何方式执行此操作而不涉及我编写foreach循环?

谢谢

c# linq entity-framework

6
推荐指数
1
解决办法
2151
查看次数

标签 统计

c# ×1

entity-framework ×1

linq ×1