【问题标题】:Using LinQ with group by more than one column将 LinQ 与多列分组一起使用
【发布时间】:2013-04-24 12:44:24
【问题描述】:

我是 LinQ 的 Newbi,我对 linQ 中的 group by 有疑问。
我想这样查询:

选择 MAX(TCheckpointGrouping.Id) 作为 CheckpointGroupingId, MAX(TCheckpointGrouping.MCheckpointId) AS CheckpointId, MAX(MCheckpoint.Name) 作为检查点名称, MAX(CAST(MCheckpoint.IsMajor AS VARCHAR)) 作为 IsMajor, MAX(TCheckpointGrouping.MIndicatorId) AS IndicatorId, MAX(MIndicator.Name) 作为指标名称, MAX(MCriteria.Id) 作为 CriteriaId, MAX(MCriteria.Name) AS CriteriaName, MAX(MPrinciple.Id) AS PrincipleId, MAX(MPrinciple.Name) AS PrincipalName, MAX(TCheckpointGrouping.RelationToCheckPoint) AS RelationToCheckPoint 来自 TCheckpointGrouping 在 MCheckpoint.Id = TCheckpointGrouping.MCheckpointId 上内连接 MCheckpoint 内部连接 ​​MIndicator 上 MIndicator.Id = TCheckpointGrouping.MIndicatorId MCriteria.Id = MIndicator.MCriteriaId 上的内部连接 ​​MCriteria 在 MPrinciple.Id = MCriteria.MPrincipleId 上内连接 MPrinciple 通过...分组 TCheckpointGrouping.MCheckpointId, TCheckpointGrouping.MIndicatorId

如何将上面的查询转换为 LinQ (VB.NET)

谢谢 最好的问候

【问题讨论】:

标签: vb.net linq group-by


【解决方案1】:

我很想为您将此 SQL 查询转换为 LINQ,但我认为这会浪费您自学的机会。

Microsoft 提供了一个很棒的页面,其中包含许多 VB.NET Linq 情况:101 Linq Samples

您甚至可以找到Group By using Multiple Columns 的示例。

好好学习。 :)

【讨论】:

    【解决方案2】:

    我不确定,但你可以试试。在选择部分我没有包括所有的列。

    var result= from TChkgp in TCheckpointGrouping
            join MCpoint in  MCheckpoint on  TChkgp.Id equals MCpoint.Id
        join MIndtor in MIndicator on TChkgp.MIndicatorId equals MIndtor.Id
        join MCrteia in MCriteria on MIndtor.Id equals MIndtor.MCriteriaId
        join MPrncple in MPrinciple on MCrteia.MPrincipleId equals MPrncple.Id
        group TChkgp by new (TChkgp.MCheckpointId,TChkgp.MIndicatorId} into g 
        select new {
        CheckpointGroupingId =TChkgp.Id.Max(),
        CheckpointId =TChkgp.MCheckpointId.Max,
        ....
        ....
    
    
        };
    

    你可以在下面的链接中看到一个简单的例子

    Group and sum in linq

    【讨论】:

      猜你喜欢
      • 2016-07-15
      • 2010-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-24
      • 1970-01-01
      相关资源
      最近更新 更多