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 sql 实现多条件的动态查询(方法二)

之前用到一个关于Linq to sql的多条件动态查询,那种方法在查询一个表的时候的确很简单,但是如果是多个表关联查询时使用动态查询又该怎么办呢? 下面介绍的是更为简单的实现方法,话不多说,代码如下...

Linq 多条件查询组合问题

借助老外写的一个扩展表达式的类,可以把上篇中的代码写得更优雅 这是PredicateBuilder的源文件 public static class PredicateBuilder { ...

LINQ 多条件查询 where 条件组建

1.新建一个静态类 public static class PredicateBuilder { public static Expression> True() ...

linq to sql 学习(11)linq 构造更完美的动态数据查询(可扩展)

平常我们在做列表查询条件,最常用的就是拼接查询条件,如下面的代码:if (!string.IsNullOrEmpty(txt_proname.Text)){      predicate = pred...

LINQ动态条件查询(一)

动态查询 有这样一个场景:应用程序可能会提供一个用户界面,用户可以使用该用户界面指定一个或多个谓词来筛选数据。这种情况在编译时不知道查询的细节,动态查询将十分有用。 在LINQ中,Lambda表达式是...
  • lwllai
  • lwllai
  • 2015-07-10 11:19
  • 1655

linq 动态拼接查询条件 扩展方法

public static class PredicateBuilder {     public static Expression> True() { return f => true; } ...

linq 实现查询字符串拼接 : And 和 OR 两种方式

N年前我们是这样来 拼接查询字符串的:     public string Test(string a, string b, string c,string d) { ...

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

开发中,需要根据用户选择的过滤条件从数据库中查询数据。过滤条件包括等于(”==”)、不等于(“!=”)、大于(“>”)、小于(”=”)、小于等于(“<=”)、包含(”in”)、不包含(”out”)八种...
  • tiana0
  • tiana0
  • 2016-11-14 17:14
  • 2409

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

LINQ TO ENTITY 动态拼接查询条件(重点是OR) 1.添加类 public static class PredicateExtensions { publi...

Linq的条件查询

其实我们经常用到.多条件查询名字等功能..如果有名字就查询这个名字.没有就是全部数据.. 因为不能直接使用tolist()会读取到数据库数据..正常查询时候 为了不直接读取数据库.只是先留个空壳.我...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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