我的页面上有搜索功能,我使用多个字符串来过滤搜索结果。在这种情况下,最好的方法是使用IQueryable,但我必须将我的搜索结果作为List发送到视图中。
当我尝试转换我的结果.ToList()时出现问题。我在这里得到System.NotSupportedException,saing“LINQ to Entities无法识别方法'System.String ToString()'方法,并且此方法无法转换为商店表达式。”
在这种情况下我该怎么办?
public ActionResult Index(string name, string lastName, string bloodGrade)
{
if (Request.IsAjaxRequest())
{
IQueryable<User> result = db.Users;
if (name != null)
{
result = result.Where(s => s.Name.Contains(name));
}
if (lastName != null)
{
result = result.Where(s => s.Lastname.Contains(lastName));
}
if (bloodGrade != null)
{
result = result.Where(s => s.BloodGrade.ToString() == bloodGrade);
}
return PartialView("_Wall", result.ToList());
}
return View(db.Users.ToList());
}