Linq to sql 从查询中嵌套的Linq到SQL

Linq to sql 从查询中嵌套的Linq到SQL,linq-to-sql,Linq To Sql,有人能告诉我如何编写嵌套的SQL查询吗 从X中选择*其中X.ID从Y中选择Y.XID其中 在LINQ?中,您可以尝试: var yIds = from y in dataContext.Y where ... select y.XId; var query = from x in dataContext.X where yIds.Contains(x.Id) select x; 我不知道它是否会起作用

有人能告诉我如何编写嵌套的SQL查询吗

从X中选择*其中X.ID从Y中选择Y.XID其中

在LINQ?

中,您可以尝试:

var yIds = from y in dataContext.Y
           where ...
           select y.XId;

var query = from x in dataContext.X
            where yIds.Contains(x.Id)
            select x;
我不知道它是否会起作用-有什么原因你不想只做一个连接吗?例如:

var query = from x in dataContext.X
            join y in dataContext.Y.Where(...) on x.Id equals y.Xid
            select x;

要在sql中执行操作,需要在Linq中使用Contains函数

例如:

var query = from x in GetX()
            where (from y in GetY() select y.xID).Contains(x.xID)
            select x;
如果愿意,您还可以单独定义内部linq查询,这样可读性更好一些

我正在寻找一种不适用于linq to SQL的解决方案。由于这个问题,我在谷歌上找到了正确的东西,并找到了这篇博文:

C

VB.net

Dim db As New NorthwinDataContext()
Dim query = From c In dc.Customers _
            Where Not (From o in dc.Orders _
                       Select o.CustomerID).Contains(c.CustomerID) _
            Select c

需要有一个与您在此站点上状态弹出窗口键入的答案完全相同的人:不加入的原因:如果x是1对多,则加入将产生重复的x。这对性能意味着什么?使用它内联定义查询contra会有区别吗?这个答案对我帮助很大,谢谢!我有一个类设置,其中一个类包含一个Class2列表,其中每个类都包含一个Class3列表,以模拟仓库设施中的容器、收货凭证和收货凭证行。需要找到一种方法来查找Class3中的特定部分,同时从Class1开始,而不必在每个类实例中循环。这是伟大的作品,而不是为我!
Dim db As New NorthwinDataContext()
Dim query = From c In dc.Customers _
            Where Not (From o in dc.Orders _
                       Select o.CustomerID).Contains(c.CustomerID) _
            Select c