1 回答

TA貢獻1827條經(jīng)驗 獲得超9個贊
除非您明確看到性能問題,否則我不會太擔心 EF 生成的 SQL。數(shù)據(jù)庫引擎非常擅長自我優(yōu)化。
不過,要回答您的問題,這應該可行:
var query = _context.Submodules.Where(t => t.Id == id)
.Select(e => new {
Id = e.Id,
Name = e.Name,
Status = e.Status,
Token = e.Token,
ModuleId = e.ModuleId,
Gender = e.Gender,
TotalRows = e.TotalRows,
TotalWords = e.TotalWords,
ComletedSegments = e.Segments
.Where(a => a.Status == Abr.Recorded)
.Select(y => new { y.Wordcount })
.ToList()
}).ToList()
.Select(e => new Submodules{
Id = e.Id,
Name = e.Name,
Status = e.Status,
Token = e.Token,
ModuleId = e.ModuleId,
Gender = e.Gender,
TotalRows = e.TotalRows,
TotalWords = e.TotalWords,
CompletedWords = e.Sum(y=> y.Wordcount),
CompletedRows = e.Count()
}).ToList();
第一個查詢選擇匿名類型以從適用的已完成片段中選擇字數(shù)。實現(xiàn)這ToList()一點并執(zhí)行查詢。對于您可以省略的段,.Select()雖然這會將所選數(shù)據(jù)減少到我們關心的列。
第二個.Select()通過對段求和和計數(shù)來填充視圖模型。
- 1 回答
- 0 關注
- 96 瀏覽
添加回答
舉報