使用System.Linq.Dynamic,需要将动态查询/表的结果作为IEnumerable

时间:2018-01-13 13:44:23

标签: c# linq

我需要根据参数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

1 个答案:

答案 0 :(得分:0)

我认为您必须在最后一行代码的末尾添加.ToArray().ToList()之类的内容,以获得所需内容。