如何将此sql请求转换为Lambda表达式或LINQ(How to convert this sql request to Lambda expression or LINQ)

编程入门 行业动态 更新时间:2024-10-27 04:29:12
如何将此sql请求转换为Lambda表达式或LINQ(How to convert this sql request to Lambda expression or LINQ)

如何将以下查询转换为lambda表达式或LINQ?

SELECT * FROM PrelevementClient as pc LEFT JOIN ContratIBAN AS ci ON ci.IDCMPT = pc.IDCMPT LEFT JOIN Contrat AS ctr ON ctr.NOCONTRAT = ci.NOCONTRAT WHERE pc.IDPRELEVEMENT = '111' AND DTPROCHAINPREL >= getdate()

困难在于有两个左连接。

How can I convert the following query to a lambda expression or to LINQ?

SELECT * FROM PrelevementClient as pc LEFT JOIN ContratIBAN AS ci ON ci.IDCMPT = pc.IDCMPT LEFT JOIN Contrat AS ctr ON ctr.NOCONTRAT = ci.NOCONTRAT WHERE pc.IDPRELEVEMENT = '111' AND DTPROCHAINPREL >= getdate()

The difficulty is that there are two left joins.

最满意答案

希望能帮助到你:

var query = from pc in Context.PrelevementClient join ci in Context.ContratIBAN on pc.IDCMPT equals ci.IDCMPT into ciLeft from ci in ciLeft.DefaultIfEmpty() join co in Context.Contrat on ci.nocontrat equals co.nocontrat into coLeft from co in coLeft.DefaultIfEmpty() where pc.idprelevement == "111" && pc.dtprochainprel >= DateTime.Today select new { //bind what you want // and dont forget to manage if co||ci.property is null... }

After each 'join' there is a 'from'.

Grouping all 'from' at the end of the request generates an issue.

DateTime date = DateTime.Now.AddMonths(1); var prelevements = from pc in set.Where(s => s.DTPROCHAINPREL >= DateTime.Today && s.NOSOC == nosoc && s.DTPROCHAINPREL < date) join ci in context.Set<ContratIBAN>().Where( g => g.PRELEVEMENTBCA == true) on pc.IDCMPT equals ci.IDCMPT into cileft from ci in cileft.DefaultIfEmpty() join co in context.Set<Contrat>() on ci.NOCONTRAT equals co.NOCONTRAT into coleft from co in coleft.DefaultIfEmpty()

更多推荐

本文发布于:2023-07-29 20:46:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1319607.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:表达式   将此   转换为   sql   expression

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!