我对使用动态 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。
您正在对
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 中两个键匹配的相应行。