LINQ 联查多表数据并封装到ViewModel的实现
LINQ 联查多表数据并封装到ViewModel的实现
public List<MyTask> GetPagedTaskList(int pageIndex, int pageSize, string stuNum, int taskTypeId)
{
DbSet<T_TaskParticipation> taskParticipations = db.Set<T_TaskParticipation>();
DbSet<T_TaskInformation> taskInformations = db.Set<T_TaskInformation>();
DbSet<T_TaskType> taskTypes = db.Set<T_TaskType>();
DbSet<T_MemberInformation> memberInformations = db.Set<T_MemberInformation>();
List<MyTask> myTaskList = (from taskParticipation in taskParticipations
join taskInformation in taskInformations on taskParticipation.TaskId equals taskInformation.TaskId
join taskType in taskTypes on taskInformation.TaskTypeId equals taskType.TaskTypeId
join memberInformation in memberInformations on taskInformation.TaskSender equals memberInformation.StuNum
where taskParticipation.TaskReceiver == stuNum
&& taskInformation.TaskTypeId == taskTypeId
select new MyTask()
{
TaskId=taskParticipation.TaskId,
TaskSender=taskInformation.TaskSender,
TaskName=taskInformation.TaskName,
TaskTypeId=taskInformation.TaskTypeId,
TaskContent=taskInformation.TaskContent,
TaskBegTime=taskInformation.TaskBegTime,
TaskEndTime=taskInformation.TaskEndTime,
TaskReceiver=taskParticipation.TaskReceiver,
TaskGrade=taskParticipation.TaskGrade,
IsRead=taskParticipation.IsRead,
IsComplete=taskParticipation.IsComplete,
TaskSenderName=memberInformation.StuName,
TaskTypeName=taskType.TaskTypeName
}).OrderBy(taskParticipation => taskParticipation.IsRead).ThenBy(taskParticipation => taskParticipation.TaskId).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
return myTaskList;
}
LINQ 联查多表数据并封装到ViewModel的实现的更多相关文章
- Selenium应用代码(读取mysql表数据登录)
1. 封装链接数据库的类: import java.sql.ResultSet; import java.sql.Connection; import java.sql.DriverManager; ...
- Struts2(接受表单参数)请求数据自动封装和数据类型转换
Struts2请求数据自动封装: (1)实现原理:参数拦截器 (2)方式1:jsp表单数据填充到action中的属性: 普通的成员变量,必须给set,get可以不给的. 注意点,A ...
- PreparedStatement实现表数据的增删改 & 封装数据库链接和关闭操作
PreparedStatement实现表数据的增删改 PreparedStatementUpdateTest package com.aff.PreparedStatement; import jav ...
- ABAP->内表数据下载到CSV格式(原创转载请注明)
需求:将alv上面的数据计算到内表中区,然后通过自定义按钮进行下载到csv格式中 附加:现在基本不用csv导出了,但是有些变态需求强行要求,也只好研究出来了,excel与txt导出很简单,那就不多说了 ...
- struts中的请求数据自动封装
Struts 2框架会将表单的参数以同名的方式设置给对应Action的属性中.该工作主要是由Parameters拦截器做的.而该拦截器中已经自动的实现了String到基本数据类型之间的转换工作.在st ...
- Web自动化框架之五一套完整demo的点点滴滴(excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试报告+对接缺陷管理系统+自动编译部署环境+自动验证false、error案例)
标题很大,想说的很多,不知道从那开始~~直接步入正题吧 个人也是由于公司的人员的现状和项目的特殊情况,今年年中后开始折腾web自动化这块:整这个原因很简单,就是想能让自己偷点懒.也让减轻一点同事的苦力 ...
- Struts2第四篇【请求数据自动封装、Action得到域对象】
前言 前三篇的Struts博文基本把Struts的配置信息讲解完了-..本博文主要讲解Struts对数据的处理 一般地,我们使用Servlet的时候都是分为几个步骤的: 得到web层的数据.封装数据 ...
- 利用Flume将MySQL表数据准实时抽取到HDFS
转自:http://blog.csdn.net/wzy0623/article/details/73650053 一.为什么要用到Flume 在以前搭建HAWQ数据仓库实验环境时,我使用Sqoop抽取 ...
- Struts2框架笔记02_API_结果页面配置_数据的封装
目录 1. Struts2的Servlet的API的访问 1.1 方式一:完全解耦合的方式 1.1.1 环境搭建 1.1.2 代码 1.1.3 测试 1.1.4 向域对象中存入数据 1.2 方式二:使 ...
随机推荐
- 一些pc端web事件移动端不再可行
1.onkeyUp,onkeyDown,onkeyPress等事件不再管用,要用oninput代替 2.onclick事件会有延迟,因为手机需要等待判断是否是双击事件(ondblclick).所以 ...
- Multivariance Linear Regression练习
%% 方法一:梯度下降法 x = load('E:\workstation\data\ex3x.dat'); y = load('E:\workstation\data\ex3y.dat'); x = ...
- 一个很奇怪的问题,程序没有改动加密参数应该也没有变化.但是两次的加密结果却不一致.md5加密问题
从图上我们看出20160803的加密结果是AAEBA9C578EA522215EAE76AFCAF250.时间是9.4分 现在我们再看这个同样的加密地址与时间结果却是另一种 31672B16..... ...
- 关于css的新思考
因为被派去协助别的组,有机会写了一下react,发现ICE做的那一个套件用来搭建后台系统真的太给力了(插一句必入table组件其实是可以把删除添加座位基础方法加进去的).因为看了demo的代码以及对于 ...
- pimpl idiom vs. bridge design pattern
http://stackoverflow.com/questions/2346163/pimpl-idiom-vs-bridge-design-pattern
- 微软Face API体验——人脸检测
微软推出了全新REST API,现在可免费获取密钥,大家可以赶快申请!申请地址:https://cn.projectoxford.ai/subscription 看了网站的API介绍,忍不住赶快体验一 ...
- Android 游戏教程让人物动起来
在这里给大家分享Android游戏教程怎样让人物动起来,话不多说了,直接进入正题. 一. 准备工作 首先要准备好要使用的人物动作图和地形图.把它分割成16个不同的动作,循环播放同一行的4个不同 ...
- Xor && 线性基练习
#include <cstdio> #include <cstring> ; ; int cnt,Ans,b,x,n; inline int Max(int x,int y) ...
- [搬砖]Pycharm中启动IPython notebook失败提示load_entry_point ImportError: Entry point ('console_scripts', 'ipython') not found的解决方法
前提:直接运行ipython正常,“which -a ipython”命令显示也只有一个ipython存在,在ipynb文件中点运行启动notebook时提示错误类似如下: Traceback (mo ...
- ios--个人资料修改
点击进行编辑  (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *) ...