如何使用基於Linq方法的獲得與此SQL查詢類似的Linq查詢?Linq方法基於多條件的左連接
SELECT * FROM F_ARTICLE A
LEFT JOIN F_ARTFOURNISS AF ON AF.AR_Ref = A.AR_Ref AND AF.AF_Principal = 1
ORDER BY A.AR_Design DESC
OFFSET 500 ROWS FETCH NEXT 100 ROWS ONLY
我使用基於System.Linq.Dynamic需求的方法。
我開始,但我不知道如何來限制AF_Principal = 1:
var query = context.F_ARTICLE
.Join(
context.F_ARTFOURNISS,
a => a.AR_Ref,
t => t.AR_Ref,
(a, t) => new { a, t })
.Select(
z => new ArticleItem()
{
Article = z.a,
Tarif = z.t.FirstOrDefault()
})
.OrderBy($"{field} {direction}");
return query.Skip(startIndex).Take(count).ToList();
這不是基於查詢 – ebelair
的方法@ ebelair你可以改變你的'加入'ontext.F_ARTFOURNISS, a => new {a.AR_Ref,AF_Principal = 1}, t => new {t.AR_Ref,t.AF_Principal}, (a,t) => new {a,t})'來限制'AF_Principal'到1 – Michael