Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq to sql “LINQ到SQL”;分组方式;_Linq To Sql - Fatal编程技术网

Linq to sql “LINQ到SQL”;分组方式;

Linq to sql “LINQ到SQL”;分组方式;,linq-to-sql,Linq To Sql,我想知道是否有人能帮助我。我想在VB.Net中使用LINQ复制以下SQL查询。我不太清楚如何进行子查询/聚合 谢谢 SELECT * FROM Server S INNER JOIN ServerHDD H ON S.Server_ID = H.Server_ID INNER JOIN (SELECT MAX(ServerHDD_ID) AS ServerHDD_ID FROM

我想知道是否有人能帮助我。我想在VB.Net中使用LINQ复制以下SQL查询。我不太清楚如何进行子查询/聚合

谢谢

SELECT  *
FROM    Server S
    INNER JOIN ServerHDD H
            ON S.Server_ID = H.Server_ID
    INNER JOIN (SELECT      MAX(ServerHDD_ID) AS ServerHDD_ID
                            FROM    ServerHDD
                            GROUP BY Server_ID, Letter) Filter
            ON H.ServerHDD_ID = Filter.ServerHDD_ID
ORDER BY S.Hostname, H.Letter
在C#=>中获得如下信息,需要VB.Net转换,请

from S in SERVER
join H in SERVERHDD on S.Server_ID equals H.Server_ID
join FILTER in 
    (from s in SERVERHDD group s 
            by new {s.Server_ID, s.Letter} 
            into groupedServerHDD select new 
                    {
                            SERVERHDD_ID = groupedServer.Sum(gS=>gS.ServerHDD_ID)
                    }
    )
     on H.ServerHDD_ID equals FILTER.SERVERHDD_ID 
     orderby S.Hostname, H.Letter
     select S

有一些LINQ学习工具非常酷

这是我最喜欢的。但你也可能想退房


您应该能够将代码粘贴到其中一个应用程序中,它将向您显示其转换方式。希望它们能派上用场。:)

这是我最喜欢的关于这个话题的页面。我喜欢LINQtoSQL(希望他们打算通过实体框架继续支持它…)。在本页中,您将找到您的查询需求的所有答案。如果没有可以测试的东西,很难在这里格式化查询

您的内部联接使用了LtS的简单联接语法。您可以在内部select上说.Max(),也可以这样说Max(此处为伪functoid):

From p2 In g _
Where p2.UnitPrice = g.Max(Function(p3) p3.UnitPrice) _
Select p2