Skip to content

在Oralce下面用树形查询,当树节点较多时,会报ORA-01795: 列表中的最大表达式数为 1000的错误 #843

@shengqi

Description

@shengqi

问题描述及重现步骤:

我在使用树形查询时,代码如下:
root.Children = fsql.Select()
.IncludeMany(t => t.Rules, then => then.IncludeMany(t => t.PreLinks))
.OrderBy(t => t.Order)
.Where(t => t.Id != WkfConstant.ROOT_ID)
.ToTreeList();
这个树下的子节点过多(我这里有5000多个)就会报ORA-01795的错误。看了一下生成的sql语句,应该是把所有的id都放到一个in条件里面了,pg没有数量限制,当把数据迁移到Oracle里,就跑不过去了。
附件里是报错的日志信息,请帮忙解决下,多谢。
Error2021-08-06.log

数据库的具体版本

Oracle11g

安装的包

FreeSql.All(2.5.100)

.net framework/. net core? 及具体版本

.net framework 4.8

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions