LINQPad - C# 与 VB 问题

LINQPad - C# vs VB Issue

我遇到了一个奇怪的问题,我觉得这很可能是我的愚蠢行为,但我最初的 google 搜索似乎没有给我任何结果。

简而言之,我在一家仍在使用 VB 写作的公司工作,我目前正在做 "LINQPad challenge",在 LINQ 中编写我所有的临时查询而不是使用 SQL 服务器管理工​​作室。也就是说,因为我更喜欢在 C# 中练习以不可避免地转向该语言,所以我想在 C# 中进行查询。

下面是我在 LINQPad 中 运行 的两个语句 - VB 一个可以正常触发,returns 可以触发数据,但是 C# 一个可以触发但什么都不做(没有错误,只是什么都不做..)。我的 C# 代码有问题吗?由于每天在 VB 中工作,我对 C# 生疏了,这不会让我感到惊讶。

下面是两个查询,我认为它们是等价的。它们针对的是我们的 Entity Framework,它首先在 Visual Studio 数据库中生成。同样,VB 一个 returns tskID 列,而 C# 似乎什么也没做。

非常感谢任何帮助!

VB LINQ:

TblTasks.Join(
                TblEmployeeTimePunches, 
                Function(tsks) tsks.tskID, 
                Function(etps) etps.etpTask_tskID, 
                Function(tsks,etps) New With { tsks, etps }) _
    .Select(Function(s) s.tsks.TskID)

C# LINQ:

TblTasks
    .Join(
            TblEmployeeTimePunches, 
            tsks => tsks.TskID, 
            etps => etps.EtpTask_tskID, 
            (tsks, etps) => new {
                                    tsks,
                                    etps
                                }
         ).Select(
                    s => s.tsks.TskID
                  );

您在 "Language" 下选择的查询类型很重要。 C# 语句需要 .Dump() 调用才能输出。 C# 表达式自动显示它们的输出。我猜你可能把这些搞混了。