【发布时间】:2018-07-22 04:58:06
【问题描述】:
我正在尝试为以下查询编写 LINQ,
Select DI.iDataItemID,
DI.iDataTypeID,
DIS.iDataItemCurrentStatusID
from OT_BackendUpdate_DataItem DI
INNER JOIN OT_BackendUpdate_DataItemStatus DIS ON DIS.iDataItemID =
DI.iDataItemID
INNER JOIN OT_BackendUpdate_RefDataItemStatus ON DIS.iDataItemCurrentStatusID
= OT_BackendUpdate_RefDataItemStatus.iDataItemStatusID
AND DIS.iDataItemCurrentStatusID = 1 AND DI.iDataTypeID = 8 and
DIS.dDateEffective IN (
SELECT Max(dDateEffective) FROM OT_BackendUpdate_DataItemStatus Where
OT_BackendUpdate_DataItemStatus.iDataItemID = DI.iDataItemID
)
我的LINQ查询如下,
result = from dataItem in msaDBContext.OT_BackendUpdate_DataItem
join dataItemStatus in msaDBContext.OT_BackendUpdate_DataItemStatus
on dataItem.iDataItemID equals dataItemStatus.iDataItemID
join refDataItemStatus in msaDBContext.OT_BackendUpdate_RefDataItemStatus
on dataItemStatus.iDataItemCurrentStatusID equals refDataItemStatus.iDataItemStatusID
where dataItemStatus.iDataItemCurrentStatusID == 1 && && dataItem.iDataTypeID == 8
select new
{
iDataItemID = dataItem.iDataItemID,
iDataItemCurrentStatusID = dataItemStatus.iDataItemCurrentStatusID,
iDataTypeID = dataItem.iDataTypeID
};
请告诉我如何添加逻辑以检查 dDateEffective 是否为 LINQ 查询中 DataItem 的最大值。 (即从 SQL 查询中检查 Max(dDateEffective) 的子查询)
需要知道如何通过 SQL 查询在 LINQ 中同时使用“IN”和“MAX”条件
【问题讨论】:
-
@BarrJ 感谢您的回复。您能否告诉我,如何使用 IN 并为我的上述查询选择 MAX。