您的位置:首页 > 数据库

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

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

      根据5个动态条件查询:

[csharp] view
plain copy

 print?

/// <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;  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: