MVC+EF 多条件查询
根据以前的做法是拼接sql语句,这会增加维护成本,因为sql语句里的内容不会报错,所以在使用ef的时候必须要抛弃拼接sql语句的习惯。
构建实例
List<vyw_user> list = null;
IQueryable<vyw_user> result = Ctx.vyw_user;//Ctx表示EF上下文
构建搜索条件
if (!string.IsNullOrEmpty(mobile) || !string.IsNullOrEmpty(usertype) || !string.IsNullOrEmpty(logintimestart) || !string.IsNullOrEmpty(logintimeend)) //搜索情况 假设有四个条件
{
#region 搜索情况
if (mobile.Trim().Length > 0)//手机号码
{
result = result.Where(c => c.mobile.Contains(mobile));
}
int usertypeid = Convert.ToInt32(usertype);
if (usertypeid != -1)//用户类型
{
result = result.Where(c => c.userType == usertypeid);
}
if (logintimestart.Trim().Length > 0 && logintimeend.Trim().Length > 0)//搜索查询时间
{
DateTime bstart = Convert.ToDateTime(logintimestart);
DateTime bend = Convert.ToDateTime(logintimeend);
result = result.Where(c => c.loginTime >= bstart && c.loginTime <= bend);
}
#endregion
}
执行数据查询
count = result.Where(c => true).Count();//数据的统计
list = result.Where(c => true).ToList();//数据查询
参数过滤
很多情况下查询到的结果并不能满足我们的需要,还需要进行一些处理,这里需要用linq
var list1 = from d in list
select new
{
userID = d.userID,
mobile = d.mobile,
userType = Enum.GetName(typeof(Enum_userType), d.userType),
fund = d.fund,
certifyName = d.certifyName,
certifyNo = d.certifyNo,
isCertify = Enum.GetName(typeof(Enum_cetifyType), d.isCertify),
certifyTime = d.certifyTime == null ? "" : Convert.ToDateTime(d.certifyTime).ToString("yyyy-MM-dd HH:mm:ss"),
signTime = Convert.ToDateTime(d.signTime).ToString("yyyy-MM-dd HH:mm:ss"),
loginTime = d.loginTime == null ? "" : Convert.ToDateTime(d.loginTime).ToString("yyyy-MM-dd HH:mm:ss")
};
MVC+EF 多条件查询的更多相关文章
- MVC EF两种查询方法
@*@model IQueryable<EFExam.Models.Product>*@@model IQueryable<EFExam.Models.ProductViewMode ...
- AsExpandable EF多条件查询
我个人学习新技术有一个方法,如果遇到问题会根据以前的经验来寻找一些类似的解决方法.有人会说,如果这个问题在你的学习或者工作生涯中都没有遇到过呢?很简单,通过搜索资料或查阅相关书籍学习别人的经验. 在如 ...
- MVC+EF 序列化类型为“System.Data.Entity.DynamicProxies.__的对象时检测到循环引用
用MVC+EF做简单查询时,返回json格式数据出现问题 原代码: public ActionResult JSon({ NorthwindEntities db = new NorthwindEnt ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(20)-多条件模糊查询和回收站还原的实现
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(20)-多条件模糊查询和回收站还原的实现 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架 ...
- 动态多条件查询分页以及排序(一)--MVC与Entity Framework版url分页版
一.前言 多条件查询分页以及排序 每个系统里都会有这个的代码 做好这块 可以大大提高开发效率 所以博主分享下自己的6个版本的 多条件查询分页以及排序 二.目前状况 不论是ado.net 还是EF ...
- asp.net MVC EF Where 过滤条件怎么写
做.Net开发的肯定都知道.Net Sql语句有个SqlParameter 一般用来做过滤判断逻辑写,那么到了EF 了还有这样的写法嘛?答案肯定是有的了,这里我只是把最粗糙和简单的写法罗列一些,具体封 ...
- Spring MVC和Spring Data JPA之按条件查询和分页(kkpaper分页组件)
推荐视频:尚硅谷Spring Data JPA视频教程,一学就会,百度一下就有, 后台代码:在DAO层继承Spring Data JPA的PagingAndSortingRepository接口实现的 ...
- ASP.NET MVC EF直接更新数据(不需查询)
EF(EntityFrameWork) ORM(对象关系映射框架/数据持久化框架),根据实体对象操作数据表中数据的一种面向对象的操作框架,底层也是调用ADO.NET ASP.NET MVC 项目会自动 ...
- EF:分页查询 + 条件查询 + 排序
/// <summary> /// linq扩展类---zxh /// </summary> /// <typeparam name="T">& ...
随机推荐
- 自制EF(iShare Demo版)
由于公司使用的所有技术都比较倾向于使用原生,不怎么借用其他第三方框架(无论是前端布局,样式,到后台的框架).公司也算比较小型的没有太大的项目 可以让我们进行团队合作项目,几乎是一人接手一个项目.然后自 ...
- Sprite(雪碧图)的应用
雪碧图是根据CSS sprite音译过来的,是将很多很多的小图标放在一张图片上. 使用雪碧图的目的:有时为了美观,我们会使用一张图片来代替一些小图标,但是一个网页可能有很多的小图标,浏览器在显示页面的 ...
- 基于上三角变换或基于DFS的行(列)展开的n阶行列式求值算法分析及性能评估
进入大一新学期,看完<线性代数>前几节后,笔者有了用计算机实现行列式运算的想法.这样做的目的,一是巩固自己对相关概念的理解,二是通过独立设计算法练手,三是希望通过图表直观地展现涉及的两种算 ...
- 自己电脑组一个Wifi热点
① 在cmd窗口 ssid 是wifi名称.key是密码 netsh wlan set hostednetwork mode=allow ssid=yb key=15564130 ② ③ 运行脚本 新 ...
- Jupyter Notebook 快捷键使用指南
因为使用Jupyter Notebook用鼠标选择菜单影响效率,遂将快捷命令记录于此 转自:http://blog.konghy.cn/2017/05/04/jupyter-notebook-hotk ...
- 25. Reverse Nodes in k-Group (JAVA)
Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. k ...
- python脚本处理下载的b站学习视频
作为常年在b站学习的我,一直以来看到有兴趣的视频,从来都是点赞收藏下载三连,但是苦于我那小钢炮iphone se屏幕大小有限,看起视频实在费劲,决定一定要找个下载电脑上下载b站视频的方法,以前用过硕鼠 ...
- paloalto防火墙接口使用方法及实例
1.获取账号相关的唯一API KEY windows:https://x.x.x.x/api/?type=keygen&user=username&password=password ...
- rancher的微服务运维
1.安装rancher: rancher官网:https://rancher.com rancher中文官网:https://www.cnrancher.com rancher 2.0 文档:http ...
- C#多线程--信号量(Semaphore)[z]
百度百科:Semaphore,是负责协调各个线程, 以保证它们能够正确.合理的使用公共资源.也是操作系统中用于控制进程同步互斥的量. Semaphore常用的方法有两个WaitOne()和Releas ...