我有兩張表,一張是城市,另一張是城市的溫度/日期值,一個城市可以有多個溫度日期。
我怎么能通過EF linq帶來城市 每個城市的最近溫度
就像是:_context.city.include(x=> x.temperature().last());
uj5u.com熱心網友回復:
您始終應該通過按所選屬性對它們進行排序來控制“最后”的溫度。Take(1)這樣做,使用in是有意義的Include,例如獲取最新的:
_context.Cities
.Include(x=> x.Temperatures.OrderByDescending(t => t.Date).Take(1));
從 EF core 5 開始Include支持過濾/排序。
由于您已經在嘗試這些方面的東西,我假設您正在使用 EFC 5 或 6。
uj5u.com熱心網友回復:
Select您可以通過在運算式中將城市和最后的溫度投影到新物件來實作這一點。您在問題中包含的代碼片段缺少幾個步驟,因此我將猜測您的資料結構:
await _context.Cities.Select(city => new
{
City = city,
LastTemperature = city.Temperatures
.OrderByDescending(t => t.DateRecorded)
.FirstOrDefault(),
}).ToListAsync();
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/428925.html
標籤:C# 林克 ef-core-6.0
