Linq组合查询和模糊查询。组合查询先组合出IQueryable语句,再执行查询;模糊查询使用Contains(),StartsWith(),EndsWith()等方法。
Linq组合查询:
DataClasses1DataContext db= new DataClasses1DataContext();
var query = db.Users.AsQueryable();//用户表
if (!string.IsNullOrEmpty(username))
{
query =query.Where(c => c.UserName == username);
}
if (!string.IsNullOrEmpty(nickname))
{
query = query.Where(c =>c.NickName == nickname);
}
var list = query.ToList();
Linq模糊查询:
DataClasses1DataContext db= new DataClasses1DataContext();
var query = db.Users.AsQueryable();//用户表
//等于
query = query.Where(c => c.UserName == username);
//like %username%
query = query.Where(c => c.UserName.Contains(username));
//like username%
query = query.Where(c => c.UserName.StartsWith(username));
//like %username
query = query.Where(c => c.UserName.EndsWith(username));
//出现位置
query = query.Where(c =>c.UserName.IndexOf(username) > 0);
var list = query.ToList();