[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) -->超出長度報錯

這個網誌中的熱門文章

IIS 設定只允許特定IP進入