一個簡單的 where 子句無法帶回 <>h__TransparentIdentifier...
from ts in TimeSpentQuery
.Where(z => z.JobId.HasValue ? z.JobId.Value != 0 ?
z.JobId.Value==j.JobId : false : false)
串列在此處創建
var TimeSpentQuery = (from js in context.TblTechnicianRecords.ToList()
group js by js.JobId into g
select new { JobId = g.Key, TimeSpent = g.Sum(x => x.EndTime.HasValue ? x.EndTime.Value.Ticks - x.StartTime.Ticks : 0) }).DefaultIfEmpty();
錯誤狀態 InvalidOperationException: The LINQ expression '<>h__TransparentIdentifier7 => __TimeSpentQuery_0 .Where(z => z.JobId.HasValue ? z.JobId.Value != 0 ? z.JobId.Value == - 然后列出一堆透明識別符號 - <>h__TransparentIdentifier0.j.JobId : False : False)'
對于一個簡單的 where 子句,這給我帶來了各種各樣的悲痛。我錯過了什么?
uj5u.com熱心網友回復:
似乎 dot net core、Entity Framework (EF) 和 C# 在構建復雜查詢(遺留資料)時呼叫多個 LINQ 存在問題。我最終通過簡單連接的多個串列創建了資料。所有以前的 from 陳述句都顯示為 <>h__TransparentIdentifier 并且在處理 EF 時似乎表現得很好。但是給定一個本地串列,系統拋出了上述錯誤,這是可以理解的,因為 SQL 編譯器不知道串列,我希望 LINQ 將編譯為一組子查詢,而不是嘗試形成單個查詢。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/494208.html
下一篇:如何根據條件僅回傳特定物件串列
