sql >> Base de Datos >  >> RDS >> Sqlserver

Alcanzar el límite de parámetros 2100 (SQL Server) cuando se usa Contiene ()

Mi solución (Guids es una lista de ID por los que le gustaría filtrar):

List<MyTestEntity> result = new List<MyTestEntity>();
for(int i = 0; i < Math.Ceiling((double)Guids.Count / 2000); i++)
{
    var nextGuids = Guids.Skip(i * 2000).Take(2000);
    result.AddRange(db.Tests.Where(x => nextGuids.Contains(x.Id)));
}
this.DataContext = result;