linq中动态模糊查询

 

person 表

字段  personID、personName、gender、phone、qq、email

查询条件:按照 personName、gender、phone、qq、email进行随意组合查询

方法如下:

public List GetPersonInfo(string personName,bool? gender,string phone,string qq,string email) { Expression> expr = n => GetPersonByCondition(n,personName,gender,phone,qq,email); var pers = DataContext.Persons.Where(expr.Compile()); return pers.ToList(); } private bool GetPersonByCondition(DataLinq.Person p,string personName,bool? gender,string phone,string qq,string email) { bool result = true; if(personName != string.Empty) result &= p.PersonName.Contains(personName); if(gender != null) result &= p.Gender == gender; if(phone != string.Empty) result &= p.Phone.Contains(phone); if(qq != string.Empty) result &= p.qq.Contains(qq); if(email != string.Empty) result &= p.email.Contains(email); return result; } 

 

 

没有在IDE中编写,如有错误请谅解,欢迎大家批评!

你可能感兴趣的:(LINQ,C#)