我有以下 SQL 查詢,我想將其轉換為 LINQ 運算式。
SELECT `a`.*
FROM `action` AS `a`
WHERE `a`.`id` IN (
SELECT MAX(`a1`.`id`) AS id
FROM `action` AS `a1`
GROUP BY `a1`.`column1`
)
我能夠用 LINQ 運算式翻譯內部查詢:
IQueryable query = from a1 in db.Action
group a1 by new { a1.column1 } into grp_a1
select new
{
id = grp_a1.Max(c => c.id)
}
但是如何將內部查詢作為輸入傳遞給外部查詢呢?
uj5u.com熱心網友回復:
您可以使用 LINQ.Any()檢查是否id在嵌套查詢陣列中。
IQueryable query = from a in db.Action
where
(
from a1 in db.Action
group a1 by new { a1.column1 } into grp_a1
select new
{
id = grp_a1.Max(c => c.id)
}
).Any(x => x.id == a.id)
select a;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/422281.html
標籤:
下一篇:如何展開物件串列?
