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

简单示例子查询Linq

须志新
2023-03-14
问题内容

T-SQL查询

Select * from dbo.User_Users
Where UserID IN (Select UserID from Course_Enrollments)

上面查询的LINQ to Entities替代

var innerquery = from en in Course_Enrollments
select en.UserID;

var query = from u in User_Users
where innerquery.Contains(u.UserID)
select u;

在stackoverflow上有很多复杂的子查询,我只想看一个简单的例子,说明如何通过linq完成一个简单的子查询。


问题答案:

简单的答案是使用 “ let” 关键字并生成一个子查询,该查询支持您的主要实体的条件集。

var usersEnrolledInCourses = from u in User_Users
                                 let ces = from ce in Course_Enrollments
                                           select ce.UserID
                                 where ces.Contains(u.UserID)
                             select u;

这将在TSQL中创建一个存在块,类似于

SELECT [Extent1].*
   FROM dbo.User_Users AS Extent1
   WHERE EXISTS (SELECT 1 AS [C1]
                     FROM dbo.Course_Enrollements AS Extent2
                     WHERE (Extent2.UserID = Extent1.UserId))

它接近您的要求,通常会在SQL Server上创建相同的查询计划。

希望这可以帮助!



 类似资料:
  • SQL 子查询示例 此示例列出每一客户的名称和 1995 第二季订单的联络人。 此示例调用过程 EnumFields 过程,且可以在 SELECT 语句示例中找到该过程。 Sub SubQueryX() Dim dbs As Database, rst As Recordset ' 在您的计算机中修改此行使其正确指到 Northwind 的路径。 Set dbs = OpenDatabase("N

  • 本文向大家介绍Laravel框架查询构造器简单示例,包括了Laravel框架查询构造器简单示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Laravel框架查询构造器。分享给大家供大家参考,具体如下: 更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库

  • 问题内容: 我正在尝试使用一个非常简单的方法(不是出于实际目的,而是为了使其正常工作),但是我一直遇到相同的错误。 码 码 最后两行应为我提供每个Post对象的标签数量。在这里,我不断收到相同的错误: 问题答案: 您的示例的问题之一是您不能用作子查询,因为它试图评估查询集并返回计数。 因此,人们可能会认为正确的方法是使用替代方法。也许是这样的: 这不能工作有两个原因: 查询集选择所有字段,而只能依

  • 引用test.nsi的内容: ;Sendmessage简单例子 ;WWW.Dreams8.CoM ; !include "WinMessages.nsh" !include "LogicLib.nsh" name "Sendmessage简单例子" outfile "test.exe" page custom show leave reservefile "pagecustom.ini"

  • 本文向大家介绍php+mysql查询优化简单实例,包括了php+mysql查询优化简单实例的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了php+mysql查询优化的方法。分享给大家供大家参考。具体分析如下: PHP+Mysql是一个最经常使用的黄金搭档,它们俩配合使用,能够发挥出最佳性能,当然,如果配合Apache使用,就更加Perfect了. 因此,需要做好对mysql的查询优化,下面

  • sequelize 查询示例 const Op = Sequelize.Op [Op.and]: {a: 5} // 且 (a = 5) [Op.or]: [{a: 5}, {a: 6}] // (a = 5 或 a = 6) [Op.gt]: 6, // id > 6 [Op.gte]: 6, // id &