IQueryable.Where()怎么实现组合条件查询?
本帖最后由 KatsuragiZero 于 2014-03-13 18:24:50 编辑
var query = from tui in db.t_user_info select tui;
if (!string.IsNullOrEmpty(strName))
{
query = query.Where(m => m.FirstName.Contains(strName));
}
上面的代码是通过strName在用户表里的FirstName做模糊查询。
但是用户输入的查询条件strName是需要在FirstName和LastName两个字段中做组合查询。
类似于:
SELECT * FROM t_user_info
WHERE FirstName like '%strName%' OR LastName like '%strName%'
这样的条件组合查询,用IQueryable类的Where方法能写出来吗?
还是说必须用SQL来实现?
------解决方案--------------------query = db.t_user_info.Where(m => m.FirstName.Contains(strName));
query = query.Union(db.t_user_info.Where(m => m.LastName.Contains(strName)));