当前位置: 首页 > 面试题库 >

如何使用LAMBDA表达式在LINQ中进行IN或CONTAINS处理?

鞠凌龙
2023-03-14
问题内容

我有以下Transact-Sql,我正尝试将其转换为LINQ …并正在挣扎。

SELECT * FROM Project
WHERE Project.ProjectId IN (SELECT ProjectId FROM ProjectMember Where MemberId = 'a45bd16d-9be0-421b-b5bf-143d334c8155')

任何帮助将不胜感激…如果可能的话,我想使用Lambda表达式来做。

提前致谢!


问题答案:

GFrizzle击败了我。但是这是一个C#版本

var projectsMemberWorkedOn = from p in Projects
                    join projectMember in ProjectMembers on
                        p.ProjectId equals projectMember.ProjectId
                    where projectMember.MemberId == "a45bd16d-9be0-421b-b5bf-143d334c8155"
                    select p;

作为奖励,还有纯LINQ方法链版本:

var projectsMemberWorkedOn =
            Projects.Join( ProjectMembers, p => p.ProjectId, projectMember => projectMember.ProjectId,
                ( p, projectMember ) => new { p, projectMember } )
                .Where( @t => @t.projectMember.MemberId == "a45bd16d-9be0-421b-b5bf-143d334c8155" )
                .Select(@t => @t.p );


 类似资料:
  • 我在尝试使用lambda表达式时遇到了这个错误。

  • 这个问题有一个关于如何使用多行lambda表达式对List进行排序的答案: 不幸的是,这似乎不适用于原始数组: 如何在Arrays.sort()中使用多行lambda表达式对原始数组进行排序? 我对任何其他方法(不必使用)都很好,只要它使用lambda表达式(没有比较器)。

  • 问题内容: 我正在研究使用Beanshell env进行产品自定义挂钩的产品(在Tomcat中运行的Sailpoint IdentityIQ)。我想编写一些代码来解析大型csv文件,并希望利用Java 8 Streams。但是我面对Beanshell env引发错误的问题,尽管我们正在使用Java 8,但无法识别Lambda表达式 有什么方法可以告诉beanshell识别lambda或代码中的转义

  • 问题内容: 我试图在 jrxml 文件中使用lambda表达式来获取我的字段的值。 我导入了适当的类,但这给了我错误 p无法解析为变量。 如何在 JasperReports 模板中使用Lambda表达式? 例外: 问题答案: 如果您使用的是Eclipse JDT编译器,请首先确保您具有一个相当新的版本。 例如,您可以从Maven获得4.5.1 ,然后将以下属性添加到jasperreports.pr

  • 问题内容: 编辑: 直到这里,我得到适当的4行,但它们都是相同的结果(我知道我需要4行,但是有不同的结果) 我的问题是,如何仅通过LotteryOfferId来通过多对多表检索所有彩票? 我要实现的是通过LotteryDrawDateId从彩票表中获取数据。 首先,我使用LotteryOfferId从中间表获取DrawDates,然后通过中间表获取drawDateIds以在LotteryDrawD

  • 我对lambda表达有意见。我的代码: 有可能吗?我只能使用java.util.function。我尝试从“lambda”中删除try catch,而我“main”方法应该正在捕获异常。