使用Ef框架进行分页..EF模糊查询..EF多表内连接查询
来源:互联网 发布:知乎比自己有钱的女人 编辑:程序博客网 时间:2024/05/16 01:50
先来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页。
三、多表内联查询:
我的数据库表为:
DepID为外键。
<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属性。
BLL层和UI层我就不写了。。。。
1 0
- 使用Ef框架进行分页..EF模糊查询..EF多表内连接查询
- EF查询
- EF查询
- MVC+EF框架查询实例
- EF实现分页查询+条件查询+排序
- EF Linq字符串模糊查询整理
- EF执行SQL分页查询语句
- EF导航属性真分页查询
- .net EF Join 关联表分页查询
- EF 跨库查询
- EF随机查询详解
- EF 查询数据
- ef
- EF
- EF
- EF
- EF
- EF
- android部分笔试题
- ctags的问题
- Itween教程
- Java单例设计模式
- JAVA基础编程50题(19-21题)详解
- 使用Ef框架进行分页..EF模糊查询..EF多表内连接查询
- Spring和SpringMVC 集成
- WebRTC 入门 02 通过浏览器使用摄像头 I
- 正确理解ThreadLoal
- Serlvet、html、Jsp三者的优缺点及Jsp的组成、Jsp和Servlet的分工、Jsp原理、Jsp注释
- 数据结构--排序之归并排序(分治 递归 合并典型案例)
- C++ 多重继承和虚继承 内存分布
- javax.servlet.JspTagException:Illegal use of <when>-style tag without <choose >as its di
- 第一章小结:Java第一章