我有這個較舊的 Linq 查詢,它拋出錯誤“無法翻譯”。我很擅長 lambda 運算式,但不能加入 intos。
為了隱私起見,我重命名了這些表。這些不是表的實際名稱!
var data = (from a in db.TableA
join b in db.TableB on a.Id equals c.Id
join c in db.TableC on a.OtherId equals c.Id
into grp
from g in grp.Take(1)
join d in db.D on g.SomethingId equals d.SomethingId
where.....
orderby c.Name
select new {
...
}).toList()
所以這一切都有效,直到 'into group from g in grp.Take(1)
我不知道如何重寫它以便.Net Core 3.1 可以讀取它。
如果真的需要,我可以提供 where 陳述句和 select new 的屬性,但我不認為它真的那么重要。
uj5u.com熱心網友回復:
按以下方式重寫您的查詢:
var data =
(from a in db.TableA
join b in db.TableB on a.Id equals c.Id
from c in db.TableC.Where(c => a.OtherId == c.Id).Take(1)
join d in db.D on c.SomethingId equals d.SomethingId
where.....
orderby c.Name
select new {
...
}).toList()
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/442865.html
