Lambda转换为LINQ [英] Lambda convert to LINQ

查看:50
本文介绍了Lambda转换为LINQ的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对lambda一无所知,甚至无法阅读复杂的 lambda表达式.我下面有此lambda代码,我想将其转换为LINQ,但我不知道如何.

I don't know anything about lambda, and I can't even read a complicated lambda expression. I have this lambda code below that I want to convert into LINQ, but I don't know how.

var train = db.sample1
            .Join(db.sample2, a => a.CertificateId, b => b.CertificateId, (a, b) => new { a, b })
            .Where(x => x.a.Year.Value.Year == year && x.a.TrainingTypeId.Value == trainingTypeId && x.a.IsApproved.Value && x.b.EndDate >= DateTime.Now)
            .Select(z => z.a).Distinct();

到目前为止我一直尝试并坚持的方法:

What I have tried so far and got stuck on:

var train = (from c in db.sample1
    join in ts sample2 where a.CertificateId equals b.CertificateId
    ......

推荐答案

Lambda LINQ仍然是链接表达式.但是,该语句应如下所示:

Lambda LINQ is still a link expression. However, the statement should look something like this:

var train2 = (from c in db.sample1
    join t in db.sample2
        on c.CertificateId equals t.CertificateId
        where c.Year.Value.Year == year && c.TrainingTypeId.Value == trainingTypeId
        && c.IsApproved.Value && t.EndDate >= DateTime.Now
        select c).Distinct();

这篇关于Lambda转换为LINQ的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆