[英]Linq Join() method with left join and grouping
我正在嘗試按照以下示例通過分組連接兩個表。 我需要做的是應用左連接。 嘗試了幾次但失敗了
var _result = _parents
.Join(_childs, p => p.PID, c => c.PID, ((p, c) => new { p, c }) )
.GroupBy(x => new { x.p.Category })
.Select(y =>
{
var _projs = y.Where(z => (z.p.Completed == false || z.p.Completed is null)).Select(z => z.p.Action);
var _actBys = y.Where(z => (z.p.Completed == false || z.p.Completed is null)).Select(z => z.pj.ActionBy);
var _nas = y.Where(z => (z.p.Completed == false || z.p.Completed is null)).Select(z => z.c.Action);
return new
{
Item= y.Key.Category,
Projects = string.Join(" + ", _projs.Distinct()),
ActionBys = string.Join(" + ", _actBys.Distinct()),
NextActions = string.Join(" + ", _nas),
};
});
如果無法在此查詢上應用左連接,是否可以通過使用 GroupJoin 應用左連接來獲得相同的查詢?
我設法通過兩個步驟獲得了所需的結果。 第一個query left join Parents and Childs 第二步按照問題中提到的方式分組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.