LINQPad - C#vs VB问题

时间:2017-01-23 17:32:31

标签: c# vb.net entity-framework linq linqpad

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

简而言之,我为一家仍在用VB编写的公司工作,我目前正在进行" LINQPad挑战",在LINQ中编写我的所有即席查询,而不是使用SQL Server Management Studio。也就是说,因为我更倾向于在C#中练习我不可避免的语言,我想用C#进行查询。

下面是我在LINQPad中运行的两个语句 - VB一个很好地激活并返回数据,但是C#one激发并且什么都不做(没有错误,只是没有做任何事情......)。我的C#代码有什么问题吗?因为我每天都在VB工作,所以我不会感到惊讶。

下面是两个查询,我认为这些查询是等效的。它们是针对我们的实体框架进行的,它首先在Visual Studio数据库中生成。再一次,VB一个返回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
                  );

1 个答案:

答案 0 :(得分:2)

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