我正在编写一个C#LINQ来执行左连接,如下所示
from pt in context.PD
join label in context.Labels on new { pt.LabelId, pt.SubLabelId } equals
new { label .LabelId, label.SubLabelId }
into clientLabel
from status in clientLabel
select new LabelDto{
LastStatus = pt.dubs> 0?
clientLabel.FirstOrDefault(s => s.type== 1).Label
: clientLabel.FirstOrDefault(s => s.type== 2).Label
LastSubStatus = pt.dubs> 0 ?
clientLabel.FirstOrDefault(s=>s.type==1).SubLabel
: clientLabel.FirstOrDefault(s => s.type== 2).SubLabel
};
右表(Labels
)可能有多个匹配的行,在这种情况下,将根据type(1 or 2)
选择要返回的行,但上面的查询会返回与type = 1
重复的第一行以及其他type = 2
,其中我只想要一行type = 1 or 2
如何更改以获得所需的输出?