//model.BBSCategoryIDList=>{10,23,12}或者{1,3,2}
//model.BBSCategoryIDs=>1,3,2或者10,23,12
//SqlFunctions命名空间System.Data.Objects.SqlClient;是linq中的一些方法整合
//如果model.BBSCategoryIDs是一个字符如1,3,2而不是10,23,33的,那么下面这个linq直接排序是可以实现以1,3,2顺序获取的
model.BBSCategoryNameList = dbContext.BBSCategories.Where(u => model.BBSCategoryIDList.Contains(u.ID)).
OrderBy(u => SqlFunctions.CharIndex(model.BBSCategoryIDs, SqlFunctions.StringConvert((double)u.ID))).Select(u => u.Title).ToList();

上方中linq的排序使用,只能针对char类型排序,而不能针对string,这主要是SqlFunctions.CharIndex方法是char型处理

其中有一个类型转换SqlFunctions.StringConvert((double)u.ID)),像一般的Convert.ToString(u.ID)或者是u.ID.ToString()在linq中是不允许使用的,此时,就需要使用SqlFunctions中的方法进行数据处理了。

因为本次我需要的是根据ID列表进行排序,没办法使用上面的方法,至于是否有能够实现的,暂时还没找到。现在的处理方式如下

                List<IDAndTitleDTO> categoryIDTitleList = dbContext.BBSCategories.Where(u => model.BBSCategoryIDList.Contains(u.ID)).Select(u => new IDAndTitleDTO() { ID=u.ID,Title=u.Title}).ToList()
.OrderBy(u=>Array.IndexOf(model.BBSCategoryIDList.ToArray(),u.ID)).ToList();//获取到ID以及Title对象的列表,并且进行列表排序处理
model.BBSCategoryNameList = categoryIDTitleList.Select(u => u.Title).ToList();//最后获取名称列表

因为还没找到办法直接linq查询的时候就把名称列表给排序出来,所以使用list获取后再进行排序的方式进行处理。

Array.IndexOf(model.BBSCategoryIDList.ToArray(),u.ID)

最新文章

  1. Fedora 24中的日志管理
  2. 常见寻找OEP脱壳的方法
  3. 通过分析iframe和无阻塞脚本关系能让我们更懂iframe
  4. Scrum敏捷项目管理精要
  5. html 二级联动(省市联动)
  6. Windows Live Writer代码高亮插件对比
  7. unity3d magnitude的意义
  8. 分治法(一)(zt)
  9. python繁体中文到简体中文的转换
  10. javascript学习笔记2
  11. 图论(Tarjan缩点):BZOJ 1194: [HNOI2006]潘多拉的盒子
  12. SQL后台分页三种方案和分析
  13. Rect
  14. 每天收获一点点------Hadoop之初始MapReduce
  15. Smali文件语法解析
  16. zookeeper安装及环境变量设置
  17. linux添加超级管理员用户,修改,删除用户
  18. intellij idea 编译 kafka 源码
  19. Unity shader学习之阴影
  20. 再谈vc发送键盘、组合键消息

热门文章

  1. (笔记)Linux内核中内存相关的操作函数
  2. Maven 构建生命周期
  3. Docker for Mac 安装及Mysql安装使用
  4. CI框架 -- 网页缓存
  5. Build opencv libraries for android arm, x86 ubuntu
  6. 如何使用 OpenFileDialog 组件 (选择文件组件)
  7. Oracle表明明存在SQL查询数据提示表不存在异常
  8. 一款CSS3仿Google Play的垂直菜单
  9. js document.activeElement及使用
  10. 114自定义UITableViewCell(扩展知识:为UITableViewCell添加动画效果)