LINQPad-C#vs VB问题

LINQPad-C#vs VB问题,c#,vb.net,entity-framework,linq,linqpad,C#,Vb.net,Entity Framework,Linq,Linqpad,我有一个奇怪的问题,我觉得这很可能是我的愚蠢,但我最初的谷歌搜索似乎没有给我任何结果 简言之,我为一家仍在用VB编写的公司工作,目前我正在做“LINQPad挑战”,用LINQ编写我所有的临时查询,而不是使用SQL Server Management Studio。也就是说,因为我更喜欢用C语言练习,因为我不可避免地会使用C语言,所以我想用C语言进行查询 下面是我在LINQPad中运行的两条语句——VB one可以很好地激发并返回数据,而C#one激发并不做任何事情(没有错误,只是什么都不做)。我

我有一个奇怪的问题,我觉得这很可能是我的愚蠢,但我最初的谷歌搜索似乎没有给我任何结果

简言之,我为一家仍在用VB编写的公司工作,目前我正在做“LINQPad挑战”,用LINQ编写我所有的临时查询,而不是使用SQL Server Management Studio。也就是说,因为我更喜欢用C语言练习,因为我不可避免地会使用C语言,所以我想用C语言进行查询

下面是我在LINQPad中运行的两条语句——VB one可以很好地激发并返回数据,而C#one激发并不做任何事情(没有错误,只是什么都不做)。我的C代码有问题吗?这不会让我感到惊讶,因为我对C已经生疏了,因为我每天都在VB中工作

下面是两个问题,我认为它们是等价的。。他们正在攻击我们的实体框架,它首先是在VisualStudio数据库中生成的。同样,VB one返回tskID列,而C#one似乎什么也不做

非常感谢您的帮助

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)
TblTasks
    .Join(
            TblEmployeeTimePunches, 
            tsks => tsks.TskID, 
            etps => etps.EtpTask_tskID, 
            (tsks, etps) => new {
                                    tsks,
                                    etps
                                }
         ).Select(
                    s => s.tsks.TskID
                  );
C#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)
TblTasks
    .Join(
            TblEmployeeTimePunches, 
            tsks => tsks.TskID, 
            etps => etps.EtpTask_tskID, 
            (tsks, etps) => new {
                                    tsks,
                                    etps
                                }
         ).Select(
                    s => s.tsks.TskID
                  );

在“语言”下选择的查询类型很重要。C#语句需要对输出调用.Dump()。C#表达式自动显示其输出。我的猜测是您可能混淆了这些内容。

vb.net和c3中的大小写(大写/小写)不同。为什么?我先输入了VB的一个(它不强制区分大小写),当它转换成C#时,区分大小写,我纠正了它。也就是说,为了验证这并没有引起我的问题,我继续修改VB查询以匹配案例,我确实得到了相同的结果(即C版本仍然没有做任何事情)。我认为问题不在于发布的代码。我会确保TblTasks在这两种情况下都包含相同的数据。我想知道C#表达式末尾的分号是否会导致LINQPad的
Dump
方法不会自动调用?如果更改
,会发生什么
.Dump()
?就是这样@Keith Hall!我尝试将其更改为.Dump(),得到了结果。如果我把它改成C#表达式,我也会得到结果。不知道我怎么没试过。。。但不管怎样,这都奏效了——谢谢!是的,这就是问题所在,我知道我忽略了一些愚蠢的事情。谢谢你的帮助!