【发布时间】:2012-09-13 08:37:36
【问题描述】:
您好,我需要将以下查询转换为 LINQ(VB.net 10),我正在努力正确分组。
您如何将 LINQ 查询称为在子表 (tblApplicationAccess) 上有一个 where 子句并将结果分组到父表 (tblBusinessUnit) 上?
TSQL
SELECT tblBusinessUnit.ID, tblBusinessUnit.Name
FROM tblBusinessUnit INNER JOIN tblApplicationAccess ON
tblBusinessUnit.ID = tblApplicationAccess.BUID
WHERE(tblApplicationAccess.ApplicationID = @AppID)
GROUP BY tblBusinessUnit.ID, tblBusinessUnit.Name ORDER BY [Name]
实体模型
更新
好的,我已经开始工作了,但我不知道这是否是最好的方法。我需要创建显式连接吗?这效率高吗?
Dim var = (From bu In hf.BusinessUnits
Join app In hf.ApplicationAccesses On bu.ID Equals app.BUID
Where app.ApplicationID.Equals(56)
Group By bu.ID, bu.Name, bu.IsInternalSupplier Into Group
Select New BusinessUnitModel With {.ID = ID,
.Name = Name,
.IsInternalSupplier = IsInternalSupplier}).ToList
【问题讨论】:
-
在我看来,分组根本没有必要,您只是希望结果按名称排序,不是吗?
-
我想我需要对结果进行分组,因为我想要业务单位表中的不同项目。我当然需要在 TSQL 中这样做
标签: .net vb.net linq entity-framework