如何使用基于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