动态Linq Group加入问题

问题描述 投票:0回答:1

我对使用动态 Linq 查询语法在组连接中使用条件有一个大问题。

我有以下代码,我用它来生成左连接代码。

result = result.AsQueryable().GroupJoin(entitiesQuerySecundary.AsQueryable(), "REventID", "EventID", $"new(outer as p, inner as s)");
result = result.SelectMany("s.DefaultIfEmpty()", $"new({string.Join(", ", selectedPropertyNames)})").Distinct();

在第一个结果中,我使用单个代码创建组连接,以比较输入和输出参数。

我的问题有没有办法使用2个条件?例如 REventID = EventID 加 RStatus = StatusID。

c# linq dynamic-linq-core
1个回答
0
投票

您正在对

result
表与
entitiesQuerySecundary
进行组联接,并将其分配回
result
,这会产生问题。

如果您想将“table1”与“table2”分组。你可以试试-

var result = table1.AsQueryable().GroupJoin(
    table2.AsQueryable(),
    "new (REventID, RStatus)",  
    "new (EventID, StatusID)",  
    "new (outer as table1, inner as table2)"
);

这应该返回 table1 中的行和 table2 中两个键匹配的相应行。

© www.soinside.com 2019 - 2024. All rights reserved.