[C#] แนวทางแก้ปัญหา The incoming request has too many parameters. The server supports a maximum of 2100 parameters
น่าจะเป็นเรื่องที่ปวดหัวของ Developer ที่ต้องมาทำงาน DBMS ตระกูล Microsoft SQL Server ครับ เวลาส่ง IList เข้าไป Where ผ่าน ADO.NET / Dapper / EF จะเจอปัญหานี้เหมือนกันครับ NOTE: สำหรับตัว EF ทางผมไม่ได้ใช้งานเป็นหลักนะครับ แต่ลอง Search มาเหมือนมีหลายความเห็นบอกว่าเจอเรื่องนี้ หรือไม่เจอครับ sql – Entity Framework Hitting 2100 Parameter Limit – Stack Overflow 2100 parameters มันของอะไรใน SQL Server แก้ไขอย่างไร – วิธีที่ 1 ไม่ต้องใช้แล้ว Parameterized Queries ต่อ String SQL เองเลย – วิธีที่ 2 ยอม Split ข้อมูล เพื่อมา Where IN แทน Sample ประมาณนี้มั่ง ไม่ได้เทส – วิธีที่ 3 ทำ Table Temp ขึ้นมา ยัด KEY และไป Where ต่อ – วิธีที่ 4 ถ้าใช้ Stored Procedure ใช้ MSSQL Table-Valued parameters สิ สรุป อ๋อพวก EF เหมือนมีคน Apply ประมาณนี้มั้ง Reference