C# 如何将此linqTOsql查询转换为lambda

C# 如何将此linqTOsql查询转换为lambda,c#,linq,linq-to-sql,C#,Linq,Linq To Sql,这对我来说更像是一个脑筋急转弯,因为linqTOsql查询满足了这一需求。我只是好奇这样的一个查询是如何转换成lambda的,或者这是否可能 我最初尝试使用lambdas来实现这一点,但我能找到的唯一方法是使用查询语法来完成连接,以便正确排序结果: var entries = from e2c in entry2CatsTable join sEntries in streamEntryTable

这对我来说更像是一个脑筋急转弯,因为linqTOsql查询满足了这一需求。我只是好奇这样的一个查询是如何转换成lambda的,或者这是否可能

我最初尝试使用lambdas来实现这一点,但我能找到的唯一方法是使用查询语法来完成连接,以便正确排序结果:

        var entries = from e2c in entry2CatsTable
                      join sEntries in streamEntryTable
                      on e2c.streamEntryID equals sEntries.seID
                      orderby sEntries.seDateCreated descending
                      orderby e2c.e2cOrder
                      where e2c.catID == catID
                      select sEntries;
我用lambdas玩过这个,这就是我取得的成绩:

        IQueryable<Entry2Cats> e2c = entry2CatsTable
                                        .Where(x => x.catID == catID)
                                        .OrderBy(x => x.e2cOrder);
        IQueryable<StreamEntry> entries = e2c.SelectMany(x => x.StreamEntry);
有什么想法吗

注:
此外,由于控制器添加了分页功能,结果需要以
IQueryable
的形式返回。

注意:如果下载LINQPad,则可以加载并配置它以使用linq到sql连接和对象,并插入查询表达式语法。您将能够运行它并查看lambda版本、生成的SQL、IL和结果(如适用)。哇。通常我更喜欢lambda代码。。。但是在这种情况下,我认为查询更容易阅读lol。谢谢你的解决方案。那种
.Join()
语法有点让人难以理解。但我插上了电源,它是正确的。
var entries = entry2CatsTable
                .Join(streamEntryTable, e2c => e2c.streamEntryID, sEntries => sEntries.seID, (e2c, sEntries) => new { e2c, sEntries })
                .Where(item => item.e2c.catID == catID)
                .OrderByDescending(item => item.sEntries.seDateCreated)
                .ThenBy(item => item.e2c.e2cOrder)
                .Select(item => item.sEntries);
var entries = entry2CatsTable
                .Join(streamEntryTable, e2c => e2c.streamEntryID, sEntries => sEntries.seID, (e2c, sEntries) => new { e2c, sEntries })
                .Where(item => item.e2c.catID == catID)
                .OrderByDescending(item => item.sEntries.seDateCreated)
                .ThenBy(item => item.e2c.e2cOrder)
                .Select(item => item.sEntries);