Asp.net mvc 3 谓词生成器包含

Asp.net mvc 3 谓词生成器包含,asp.net-mvc-3,entity-framework,contains,predicate,Asp.net Mvc 3,Entity Framework,Contains,Predicate,我正在尝试使用谓词生成器通过MVC3执行查询。我发现了错误 无法将类型“System.Boolean”强制转换为类型“System.Object”。LINQ to Entities仅支持强制转换实体数据模型基元类型 我已通过如下查询 if (!string.IsNullOrEmpty(SearchObj.EmployeeIDSortId.ToString()) && SearchObj.EmployeeIDSortId > 0) { string[

我正在尝试使用谓词生成器通过MVC3执行查询。我发现了错误

无法将类型“System.Boolean”强制转换为类型“System.Object”。LINQ to Entities仅支持强制转换实体数据模型基元类型

我已通过如下查询

if (!string.IsNullOrEmpty(SearchObj.EmployeeIDSortId.ToString()) && SearchObj.EmployeeIDSortId > 0)
    {

        string[] vals =new string[' ']; 
        if (SearchObj.EmployeeIDSortId == 1)
        {
            vals = new string[] { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k","l" };

        }
        else if (SearchObj.EmployeeIDSortId == 2)
        {

            vals = new string[] { "m", "n", "o", "p", "q", "r", "s" };

        }
        else if (SearchObj.EmployeeIDSortId == 3)
        {


            vals = new string[] { "t", "u", "v", "w", "x", "y", "z" };
        }


        employeepredicate =
            employeepredicate.And(emp => emp.EmployeeName.Substring(0, 1).ToLower().Equals(vals.Any()));


         }
您能告诉我这有什么问题吗?我想这只是因为我的查询vals.Any()


谢谢

让我先说一下-我不熟悉
方法,但是
.Equals(vals.Any())
对我来说不太合适。因此,我假设
接受一个返回bool的函数。您真正要查找的是员工姓名中的第一个字符是否包含在VAL数组中:

employeepredicate=employeepredicate.和(
emp=>vals.Contains(emp.EmployeeName.Substring(0,1.ToLower())