System.InvalidOperationException: Sequence contains more than one element
問題發生點:
System.InvalidOperationException: Sequence contains more than one element
Generated: Mon, 13 Mar 2023 04:28:17 GMT
System.InvalidOperationException: Sequence contains more than one element
at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source)
使用 PK 欄位作為 WHERE 條件時,查詢結果竟然出現多筆資料,導致 PetaPOCO 的 SingleOrDefault 拋出上述錯誤。初步判斷發生在 JOIN;同步作業或其他資料表正在 INSERT、UPDATE 時,可能讓查詢取得兩筆資料。
解決方式:
1. 每個 JOIN 的資料表都加上 WITH(NOLOCK);原本只在 FROM 的第一個 Table 使用。
2. 補上更明確的 WHERE 條件。
