Asp.net mvc 3 谓词生成器包含
我正在尝试使用谓词生成器通过MVC3执行查询。我发现了错误 无法将类型“System.Boolean”强制转换为类型“System.Object”。LINQ to Entities仅支持强制转换实体数据模型基元类型 我已通过如下查询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[
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())代码>