我需要根据参数kwdType从各种关键字表中选择记录。我试图使用动态linq来设置基于switch语句的表类型并动态查询,而不是重复代码行。我没有找到任何方法将结果作为IEnumerable。我需要将这些结果发送到另一个只接受IEnumerable的函数。请给我任何提示。
Type returnType = null;
switch (kwdType.ToLower())
{
case "class1":
returnType = typeof(TblClass1);
break;
case "class2":
returnType = typeof(TblClass2);
break;
case "class3":
returnType = typeof(TblClass3);
break;
}
//I need to get the results as IEnumerable
MYDB.Set(returnType).AsQueryable().Where("Active=@0", "Y")
return new PagedResponse<returnType>(MYDB.Set(returnType).AsQueryable().Where("Active=@0", "Y"), pageIndex, pageSize);
这是错误
无法从system.linq.iqueryable转换为system.collections.generic.IEnumerable
答案 0 :(得分:0)
我认为您必须在最后一行代码的末尾添加.ToArray()
或.ToList()
之类的内容,以获得所需内容。