linq to sql的多条件动态查询(上)

linq  to sql的多条件动态查询确实是一件头痛的事情,用表达式树或反射方法要写一大堆代码,有时候想想与其这么复杂,还不如回到手动sql拼接的年代,但是技术总是向前发展的,终归还是要在linq上解决这一问题,无意在网上发现一个还算比较简单的办法,分享一下:


linq to sql的多条件动态查询(上)void ShowData() 
linq to sql的多条件动态查询(上)linq to sql的多条件动态查询(上)    
linq to sql的多条件动态查询(上){
linq to sql的多条件动态查询(上)        
using (DBDataContext db = new DBDataContext(Database.ConnectionString))
linq to sql的多条件动态查询(上)linq to sql的多条件动态查询(上)        
linq to sql的多条件动态查询(上){
linq to sql的多条件动态查询(上)            Expression
<Func<T_Bargin, bool>> expr = n => GetCondition(n);
linq to sql的多条件动态查询(上)linq to sql的多条件动态查询(上)            var _query 
= db.T_Bargins.Where<T_Bargin>(expr.Compile()).Select(b => new linq to sql的多条件动态查询(上){ b.F_Money, b.F_Name });
linq to sql的多条件动态查询(上)            
foreach (var item in _query)
linq to sql的多条件动态查询(上)linq to sql的多条件动态查询(上)            
linq to sql的多条件动态查询(上){
linq to sql的多条件动态查询(上)                Response.Write(item.F_Name 
+ "&nbsp;" + item.F_Money.ToString() +  "<br/>");
linq to sql的多条件动态查询(上)            }

linq to sql的多条件动态查询(上)        }
     
linq to sql的多条件动态查询(上)    }

linq to sql的多条件动态查询(上)
linq to sql的多条件动态查询(上)
linq to sql的多条件动态查询(上)    
//得到合同金额大于6000,或合同名称中包含"江华"字的条件
linq to sql的多条件动态查询(上)
    private bool GetCondition(T_Bargin _Table)
linq to sql的多条件动态查询(上)linq to sql的多条件动态查询(上)    
linq to sql的多条件动态查询(上){       
linq to sql的多条件动态查询(上)
linq to sql的多条件动态查询(上)        
bool _result = false;
linq to sql的多条件动态查询(上)
linq to sql的多条件动态查询(上)        
decimal _MinMoney = 6000;
linq to sql的多条件动态查询(上)
linq to sql的多条件动态查询(上)        
if (_MinMoney > 0)
linq to sql的多条件动态查询(上)linq to sql的多条件动态查询(上)        
linq to sql的多条件动态查询(上){
linq to sql的多条件动态查询(上)            _result 
|= _Table.F_Money >= _MinMoney;
linq to sql的多条件动态查询(上)        }

linq to sql的多条件动态查询(上)
linq to sql的多条件动态查询(上)        
string _Name = "江华";
linq to sql的多条件动态查询(上)
linq to sql的多条件动态查询(上)        
if (!String.IsNullOrEmpty(_Name))
linq to sql的多条件动态查询(上)linq to sql的多条件动态查询(上)        
linq to sql的多条件动态查询(上){
linq to sql的多条件动态查询(上)            _result 
|= _Table.F_Name.Contains(_Name);
linq to sql的多条件动态查询(上)        }

linq to sql的多条件动态查询(上)        
linq to sql的多条件动态查询(上)        
return _result;
linq to sql的多条件动态查询(上)    }

linq to sql的多条件动态查询(上)
linq to sql的多条件动态查询(上)
linq to sql的多条件动态查询(上)
上一篇:linq to sql的多条件动态查询(下)


下一篇:git信息配置WEBHOOK