asp.net MVC EF Where 过滤条件怎么写
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了asp.net MVC EF Where 过滤条件怎么写,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1433字,纯文字阅读大概需要3分钟。
内容图文
![asp.net MVC EF Where 过滤条件怎么写](/upload/InfoBanner/zyjiaocheng/1333/1eccb404252a4a309d87ed1e2af5cdf0.jpg)
做.Net开发的肯定都知道.Net Sql语句有个SqlParameter 一般用来做过滤判断逻辑写,那么到了EF 了还有这样的写法嘛?答案肯定是有的了,这里我只是把最粗糙和简单的写法罗列一些,具体封装方法什么,有兴趣的小伙伴们可以自己去做:
我这里有个Tb_NewsInfo_View Model实体首先需要带条件过滤 废话就不多说了的
//参数类型转换
var parameter = Expression.Parameter(typeof(Tb_NewsInfo_View))
var type = typeof(Tb_NewsInfo_View);
Expression expr = Expression.Constant(true);
//这个类似于like用的是Contains包含方法代替
var methodtype = typeof(string).GetMethod("Contains", new Type[] { typeof(string) });
if (!string.IsNullOrWhiteSpace(newsTitle)) { expr = Expression.And(expr, Expression.Call(Expression.Property(parameter, "Tb_NewsTitle"), methodtype, Expression.Constant(newsTitle))); } if (!string.IsNullOrWhiteSpace(startdate.ToString())) { expr = Expression.And(expr, Expression.GreaterThanOrEqual( Expression.Property(parameter, "Tb_CreateDate"), Expression.Constant(startdate,typeof(DateTime?) ))); } if (!string.IsNullOrWhiteSpace(enddate.ToString())) { expr = Expression.And(expr, Expression.LessThanOrEqual( Expression.Property(parameter, "Tb_CreateDate"), Expression.Constant(enddate, typeof(DateTime?) ))); }
//这里参数传入了就拼接对应条件
//最后带入查询方法
var lambda = Expression.Lambda<Func<Tb_NewsInfo_View, bool>>(expr, parameter); result = EF_Res_View.GetPageEntities(pageNo, pageSize,lambda, m => m.Tb_NewId, isAsc, out count).ToList();
过滤拼接EF Where 条件就是这么简单
本人原网址:http://www.wuhannews.net/news/10304.html
原文:http://www.cnblogs.com/yiliuyang/p/5300785.html
内容总结
以上是互联网集市为您收集整理的asp.net MVC EF Where 过滤条件怎么写全部内容,希望文章能够帮你解决asp.net MVC EF Where 过滤条件怎么写所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。