LINQ to Entities无法识别方法'System.String ToString()'方法,并且此方法无法转换为存储表达式

时间:2014-12-15 05:25:52

标签: c# asp.net asp.net-mvc linq tostring

allList = allList.Where(c => isAdvertSearchable 
  && c.tblAdvert.AdvertTitle.ToLower().Trim().Contains(param.sSearch.ToLower())
  || isTranastionTypeSearchable 
  && c.IsActive.ToString().ToLower().Trim().Contains(param.sSearch.ToLower())
  || (c.Amount.ToString().ToLower().Contains(param.sSearch.ToLower().ToString()) 
  || param.sSearch == "")
  || isTranastionIDSearchable 
  && c.TransactionId.ToLower().Trim().Contains(param.sSearch.ToLower())

1 个答案:

答案 0 :(得分:1)

LINQ 抱怨无法将ToString翻译为 T-SQL

使用

SqlFunctions.StringConvert(param.sSearch.ToLower())

SqlFunctions类
提供公共语言运行时(CLR)方法,在LINQ to Entities查询中调用数据库中的函数 http://msdn.microsoft.com/en-us/library/system.data.objects.sqlclient.sqlfunctions(v=vs.110).aspx