var query = (from u in results 选择 u).AsQueryable(); //构建where子句 if (!string.IsNullOrEmpty(userRequest.searchData)) { if (userRequest.searchBy == "LastName") { var likestr = userRequest.searchData.Trim(); query = (from n in query where n.StartsWith(likestr) select n).AsQueryable(); } if (userRequest.searchBy == "FirstName") { } if (userRequest.searchBy == "Email") { //var likestr = string.Format("%{0}%", userRequest.searchData.Trim()); } if (userRequest.searchBy == "UserId") { query = query.Where(x => SqlMethods.Equals(x.UserId, Convert.ToInt32(userRequest.searchData))); } }
首先我查询数据库并存储在 var 查询中。
然后,如果有搜索数据,我会尝试使用 1 或 4 个可能的搜索来附加 Where 子句。
帮助?