Entity Framework Plus - 使用 InlcudeFilter 处理多级失败

问题描述

情况

我有一个模型“ModelA”,我尝试从数据库加载所有属性(几个级别)。为了避免加载任何不必要的属性,我想使用 IncludeFilter、Select 和 Where。

我当前的查询如下所示:

var query = context.Model_A
    .IncludeFilter(a => a.Model_A1)
    .IncludeFilter(a => a.Model_A2)
    .IncludeFilter(a => a.Model_A3.Select(a3 => a3.Model_B1))
    .AsQueryable();

if (filter == condition) 
{
    query = query.IncludeFilter(a => a.Model_A3
        .Select(a3 => a3.Model_B2.Model_C1
            .Where(c1 => c1.Property_1 == condition)
            .Select(c1 => c1.Model_D1)
    ));
}

模型结构如下:

public class Model_A 
{
    public Model_A1 Model_A1
    public int Model_A1_Id

    public Model_A2 Model_A2
    public int Model_A2_Id

    public ICollection<Model_A3> Model_A3
    
    public Model_A() {
        Model_A3 = new Collection<Model_A3>();
    }
}

public class Model_A3 
{
    public Model_B1 Model_B1
    public int Model_B1_Id

    public Model_A Model_A
    public int Model_A_Id

    public Model_B2 Model_B2
    public int Model_B2_Id
}

public class Model_B2 
{
    public ICollection<Model_C1> Model_C1
    
    public Model_B2 {
        Model_C1 = new Collection<Model_C1>();
    }
}

public class Model_C1 
{
    public Model_B2 Model_B2
    public int Model_B2_Id

    public Model_D1 Model_D1
    public int Model_D1_Id
}

问题

尝试此查询时出现以下错误

'NavigationExpandingExpressionVisitor' 处理 LINQ 表达式 'x => x' 失败。这可能表示 EF Core 中存在错误或限制。

这是否很复杂,还是我在任何地方都遇到了问题?有没有更好的理由来处理这种情况?

感谢任何帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)