Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用System.Linq.Dynamic,需要将动态查询/表的结果作为IEnumerable获取_C#_Linq - Fatal编程技术网

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

C# 使用System.Linq.Dynamic,需要将动态查询/表的结果作为IEnumerable获取,c#,linq,C#,Linq,我需要根据参数kwdType从各种关键字表中选择记录。我尝试使用动态linq根据switch语句和动态查询设置表类型,而不是重复代码行。我找不到任何方法来得到可计算的结果。我需要将这些结果发送到另一个只接受IEnumerable的函数。请给我小费 Type returnType = null; switch (kwdType.ToLower()) { case "class1": return

我需要根据参数kwdType从各种关键字表中选择记录。我尝试使用动态linq根据switch语句和动态查询设置表类型,而不是重复代码行。我找不到任何方法来得到可计算的结果。我需要将这些结果发送到另一个只接受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);
Type returnType=null;
开关(kwdType.ToLower())
{
案例“1类”:
returnType=typeof(TblClass1);
打破
案例“类别2”:
returnType=typeof(TblClass2);
打破
“第3类”案件:
returnType=类型(TblClass3);
打破
}
//我需要得到一个可计算的结果
MYDB.Set(returnType).AsQueryable().Where(“Active=@0”,“Y”)
返回新的PagedResponse(MYDB.Set(returnType).AsQueryable(),其中(“Active=@0”,“Y”)、pageIndex、pageSize);
这里是错误


无法从system.linq.iqueryable转换为system.collections.generic.IEnumerable

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

MYDB的类型是什么?仅供参考:
iqueryable
=>数据库查询,
IEnumerable
=>内存查询。在代码中,您从未在数据库上执行过查询。它是从DbContext扩展而来的类型