Linq to sql 实现多条件的动态查询(方法一)

原创 2012年03月29日 20:51:58

      多条件动态查询在开发中太常见了,使用sql语句拼接很容易实现,但是在使用linq 的时候我却觉得很麻烦,思来想去,其实不然,linq 实现多条件动态查询一样可以变的很简单。话不多说,直接上例子,供大家参考。

      根据5个动态条件查询:

        /// <summary>
        /// Linq to sql 多字段动态查询
         /// </summary>
        /// <returns></returns>
        private List<TVacant> ViewBinding(ModelDataContext db,string fyno,string brd,string area,string city,string pos)
        {
            Expression<Func<TVacant, bool>> expr = n => GetCondition(n,fyno,brd,area,city,pos);
            var xQuery = db.TVacant.Where<TVacant>(expr.Compile());
            return xQuery.ToList<TVacant>();
        }
        private bool GetCondition(TVacant tb,string fyno,string brd,string area,string city,string pos)
        {
            bool boolResult = true;
            if (!String.IsNullOrEmpty(fyno))
            {
                boolResult &= tb.fy_no == fyno;
            }
            if (!String.IsNullOrEmpty(brd))
            {
                boolResult &= tb.brd_no == brd;
            }
            if (!String.IsNullOrEmpty(area))
            {
                boolResult &= tb.area_no == area;
            }
            if (!String.IsNullOrEmpty(city))
            {
                boolResult &= tb.city_no == city;
            }
            if (!String.IsNullOrEmpty(pos))
            {
                boolResult &= tb.pos_no == pos;
            }
            return boolResult;
        }


 

【整理】Linq to Entity 动态拼接查询条件(重点是OR)

LINQ TO ENTITY 动态拼接查询条件(重点是OR) 1.添加类 public static class PredicateExtensions { publi...
  • shujudeliu
  • shujudeliu
  • 2015年12月11日 15:49
  • 4586

使用反射让linq实现动态查询, 类似拼接sql语句的where 条件

using System; using System.Collections; using System.Configuration; using System.Data; using System....
  • QingHeShiJiYuan
  • QingHeShiJiYuan
  • 2016年06月25日 17:32
  • 3456

动态拼接LINQ查询条件的解决方案

开发中,需要根据用户选择的过滤条件从数据库中查询数据。过滤条件包括等于(”==”)、不等于(“!=”)、大于(“>”)、小于(”=”)、小于等于(“...
  • tiana0
  • tiana0
  • 2016年11月14日 17:14
  • 3319

linq to sql的多条件动态查询

linq  to sql的多条件动态查询确实是一件头痛的事情,用表达式树或反射方法要写一大堆代码,有时候想想与其这么复杂,还不如回到手动sql拼接的年代,但是技术总是向前发展的,终归还是要在linq上...
  • nnsword
  • nnsword
  • 2011年09月04日 17:41
  • 1066

Linq to Sql:N层应用中的查询(下) : 根据条件进行动态查询

如果允许在UI层直接访问Linq to Sql的DataContext,可以省去很多问题,譬如在处理多表join的时候,我们使用var来定义L2S查询,让编译器自动推断变量的具体类型(IQueryab...
  • lan5288831
  • lan5288831
  • 2012年04月14日 20:00
  • 835

linq to sql(Lambda ) 多条件组合查询

linq to sql 多条件组合查询  2010-10-23 15:54:28|  分类:编程相关 |  标签:|字号大中小订阅 //一個條件一個條件串接 using ...
  • shandian84
  • shandian84
  • 2013年03月15日 13:58
  • 2677

linq to sql 多条件组合查询

//一個條件一個條件串接 using System.Linq.Expressions; Expression exps = A => true; if (GroupId != "0") { ...
  • anzhiqiang_touzi
  • anzhiqiang_touzi
  • 2011年12月02日 22:56
  • 3918

LINQ to SQL语句之动态查询

高级特性 本文介绍LINQ的高级特性,其包括大家都关心的动态查询的用法,另外简单提下ID标识这个知识。 动态查询 有这样一个场景:应用程序可能会提供一个用户界面,用户可以使用该用户界面指定一个或...
  • xieyufei
  • xieyufei
  • 2014年06月25日 17:35
  • 345

LINQ to SQL语句(23)之动态查询

http://www.prg-cn.com/article-4430-1.html 动态查询 有这样一个场景:应用程序可能会提供一个用户界面,用 户可以使用该用户界面指定一个或多个谓词来筛选数...
  • wyh0318
  • wyh0318
  • 2012年08月02日 17:10
  • 834

Linq To Entity多条件or查询处理

1.多条件OR使用实例: //学费 if (string.IsNullOrEmpty(tuition) == false && tuition != "0") { Expression>...
  • u011127019
  • u011127019
  • 2016年07月11日 14:20
  • 1568
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linq to sql 实现多条件的动态查询(方法一)
举报原因:
原因补充:

(最多只允许输入30个字)