0
我有一個dbcontext,我查詢返回一個模型,其中包含所有項目的總數和一個代表項目的子集的Ienumerable類型。我有三種環境:localhost,Development和Test。使用相同版本的代碼,Development和localhost會返回包含count和項目列表的完整數據集。測試用一個空的物品清單返回正確的計數。代碼集在所有環境中都是相同的。我已將所有環境指向同一數據庫,以隔離數據庫中可能存在的任何問題。查詢看起來像:實體框架返回部分爲空數據集
var rawItems = context.entity.Where(x => x.id == ID).OrderBy(x => x.id);
totalCount = rawItems.Count();
return rawItems.Skip(0).Take(25).Select(x => x.ToExternalModel())
ToExternalModel是變換方法,它採用了對象,並將其轉變爲一個不同的模型。這段代碼沒有拋出異常。我刪除了所有嘗試/捕獲以確保。
我真的認爲這是一個環境問題,我真的不知道它可能是什麼。
您爲什麼需要跳過(0)?如果您只是返回rawItem而不將其轉換爲外部模型,結果是否相同? – Nilesh
這段代碼表示我用來執行的參數。在真正的代碼中,0是一個變量,可能不是0.我沒有嘗試過只返回原始項目列表,但是爲了工作,這意味着轉換在三臺機器中的一臺上表現不同。 – user2698212
事實證明,在測試服務器上生成的查詢與在其他服務器上生成的查詢不同(不同的連接結構)。我仍在研究它爲什麼會有所不同。 – user2698212