使用Ef框架进行分页..EF模糊查询..EF多表内连接查询
先来DAL层代码。。稍后解释。。。
public List<Staff> Getstaff(string DepId,string staffname,DateTime date ,int pageIndex ,int pageSize){using (OASysEntities entity = new OASysEntities()){List<Staff> list = new List<Staff>();if (string.IsNullOrEmpty(DepId)){list = entity.Staff.Where(m => m.StaffName.Contains(staffname) && m.JoinDate >= date).OrderByDescending(m => m.StaffId).Skip(((pageIndex - 1) * pageSize)).Take(pageSize).Select(s => s).ToList();}else{list = entity.Staff.Where(m => m.StaffName.Contains(staffname) && m.JoinDate >= date && m.DepId.ToString() == DepId).OrderByDescending(m => m.StaffId).Skip(((pageIndex - 1) * pageSize)).Take(pageSize).Select(s => s).ToList();}List<Staff> list1 = new List<Staff>();foreach (var s in list){s.DepName=entity.Department.SingleOrDefault(m => m.DepId == s.DepId).DePName;list1.Add(s);}return list1;}}
一、EF模糊查询:
bool Contains(string value):返回一个值,该值指示制定的System.String对象是否出现在此字符串中。相当于like %value%。
Contains等价于like '%key%' 指示指定的 String 对象是否出现在此字符串中。
EndsWith等价于like '%key' 确定此字符串实例的结尾是否与指定的字符串匹配。
StartsWith等价于like 'key%' 确定此字符串实例的开头是否与指定的字符串匹配。
二、EF分页:
对于List<>分页的方法
Skip():
Take():
list = entity.Staff.Where(m => m.StaffName.Contains(staffname) && m.JoinDate >= date).OrderByDescending(m => m.StaffId).Skip(((pageIndex - 1) * pageSize)).Take(pageSize).Select(s => s).ToList();
其中,pageIdex为当前第几页,pageSize为每一页有几行数据。
所以这段代码可以解释为先排序获取(Skip)第((pageIndex - 1) * pageSize)行后的数据,也就是第(pageIndex - 1) 以后的数据。再减去(Take)第pageSize行后的数据就得到了第pageIdex页。
三、多表内联查询:
<pre name="code" class="csharp"> List<Staff> list1 = new List<Staff>();foreach (var s in list){s.DepName=entity.Department.SingleOrDefault(m => m.DepId == s.DepId).DePName;list1.Add(s);}return list1;}
说明:再实体层也就是Model里的Staff类(主键表)必须添加一个外键字段如public string DepName { get; set; },这样才可以使定义的List<Staff> list1拥有DepName属性。
使用Ef框架进行分页..EF模糊查询..EF多表内连接查询相关推荐
- mysql连接查询(两个表内和多个表内连接查询)
连接是关系数据模型的主要特点,连接查询是关系数据库中最主要的查询,包括内连接.外连接等. 当两个或多个表中存在相同意义的字段时,便可以通过这些字段对不同的表进行 连接查询,得到存放在多个表中的记录数据 ...
- SQL数据库语言基础之SqlServer多表连接查询与INNER JOIN内连接查询
文章目录 一.简单连接查询 二.多表连接查询 三.INNER JOIN 内连接查询 一.简单连接查询 1.直接连接:无连接规则连接两表,得到的是两个表的笛卡尔积. 连接后的行数=表1行数*表2行数 连 ...
- Oracle单表内连接查询
源数据如下: 根据Col3值,把Co1和Co2映射并去空查询,预期结果如下: 思路分析: 使用单表内连接+where条件判断非空即可 查询SQL: SELECT t1.col1,t2.col2 FRO ...
- mysql 三个表内连接查询_MySQL5.5多表之连接查询
连接查询 关系型数据库管理系统中,通常将每个实体的所有信息存放在一张表中,当查询数据时,通过连接操作查询多个表中的实体信息,当两个或多个表中存在相同意义的字段时,便可以通过这些字段对不同的表进行连接查 ...
- mysql多表内连接查询
-- 查询用户信息和对应的订单信息 SELECT * FROM USER INNER JOIN orderlist ON `orderlist`.`uid`=user.`id`;`user`-- 查询 ...
- mysql常用基础操作语法(八)~~多表查询合并结果和内连接查询【命令行模式】...
1.使用union和union all合并两个查询结果:select 字段名 from tablename1 union select 字段名 from tablename2: 注意这个操作必须保证两 ...
- mysql 三个表内连接查询_MySQL多表查询详解
多表查询 1. 表与表之间的关系 <1> 一对一 用户表和身份信息表,用户表是主表 男人表.女人表 create table man( mid int primary key auto_i ...
- Mysql学习总结(24)——MySQL多表查询合并结果和内连接查询
1.使用union和union all合并两个查询结果:select 字段名 from tablename1 union select 字段名 from tablename2:
- mysql 内连接查询总数_MySQL - 统计内连接查询
由于您只有一个聚合,并且您似乎按Properties行进行分组,因此这应该相对容易.你的意思是这样的(未经测试)? SELECT p.title, p.state, p.city, p.regionI ...
最新文章
- 使用霍夫变换检测车道线
- webpack为什么加载不了css?
- 正则表达式发明者_正则表达式 – 简介
- eclipse中导入spring-boot框架的jar包方法
- 用BlockingQueue实现生产者与消费者问题
- oracle shell 登录,linux 本地账号密码无法登陆(shell可以登录),一直返回 登陆的login界面...
- Python cmd中输入'pip' 不是内部或外部命令,也不是可运行的程序或批处理文件。...
- 非域计算机上模拟域用户,App-V如何让非域内(工作组)PC 也能享受应用程序虚拟化...
- python装饰器class_Python中的各种装饰器详解
- php iis ajax 无效,IIS7中Ajax.AjaxMethod无效的原因及解决方法
- 开源:Taurus.MVC 框架 (已支持.NET Core)
- django-区分时区的时间类型
- C++自学笔记(3)
- Linux 基本命令(三)--histroy 常用命令详解
- 知识也许是先人留给后辈最大的财富
- NodeMCU(ESP8266)获取NTP时间
- qt-5.9.7-vc14h73c81de_0
- Fedora 14 下成功驱动BCM4312的步骤
- FRED应用:锥透镜的设计
- 网页对话框:window.showModalDialog的基本用法
热门文章
- Ecol. Lett. | 生态学实验设计中“梯度实验”和“重复实验”的抉择
- R语言ggplot2可视化:ggplot2可视化水平堆叠条形图、并且在每个堆叠条形图的内部居中添加百分比文本标签信息
- R语言plot函数散点图、密度图实战
- R语言使用pie函数可视化饼图(pie chart)、为饼图添加百分比信息、使用plotrix包可视化3D饼图、使用plotrix包可视化扇形饼图
- R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(添加均值、标准偏差)实战
- Python裁剪图片(Crop an Image)
- 脑外伤急救后迟发性颅脑损伤影响因素分析案例
- 3d 自动生成物体_Adobe发布3D建模、AR内容生成应用Scantastic
- 分类问题的评估指标(Evaluation for Classifier)
- Fail to find the dnn implementation. [Op:CudnnRNN]解决办法