[Debug] Entity Framework參數過長的錯誤
同事回報一個錯誤是使用者貼上一段文字,執行後,發生錯誤"String or binary data would be truncated"
錯誤原因
問題為輸入超過8000字元的值,而我比較好奇的是透過Entity Framework查詢回來的是 IQueryable,若直接ToList()不會錯誤,而執行Count()才會發生錯誤
。使用Sql Profile Trace SQL 後,發現2個SQL宣告的參數不一樣,如下:
- ToList()宣告的參數為varchar(8000) -->超出長度自動截斷
- Count() 宣告的參數為varchar(max) -->超出長度報錯