Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Atingindo o limite de 2100 parâmetros (SQL Server) ao usar Contains()


Minha solução (Guids é uma lista de ids que você gostaria de 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;