小编Cem*_*ici的帖子

带有子选择的 EF Core 5.0 Union Linq 查询不起作用

目标:

我想将两个具有不同属性的表(entityA 和entityB)中的信息合并到一个 unionDto 中。我正在尝试通过联合操作来实现此操作,以同时过滤数据库中的不同实体。

但我使用的结构需要在联合查询之前需要过滤的版本。

一些附加信息:

所以我在最后一个查询中尝试做的是:首先,我将表“entityA”“entityB”中的信息投影到通用“匿名”类型(带联合)。然后我尝试应用分页,然后尝试将新的匿名结果“投影”到UnionDto。因此,这将导致一个 UnionDto 具有“来自 2 个不同表的信息”

我用两个具有版本的实体创建了一个问题示例:

实体:

class entityA {
    public List<VersionA> Versions;
    public Guid CreatedBy;
}

class entityB {
    public List<VersionB> Versions;
    public Guid CreatedBy;
}

class VersionA {
    public string TitleA;
    public Instant EffectiveTo;
}

class VersionB {
    public string TitleB;
    public Instant EffectiveTo;
}

class UnionDto{
    public string Title;
    public Guid Creator;
}
Run Code Online (Sandbox Code Playgroud)

我正在设置这样的查询:

var queryA = …
Run Code Online (Sandbox Code Playgroud)

c# linq postgresql entity-framework-core ef-core-5.0

3
推荐指数
1
解决办法
8078
查看次数