Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Raggiungere il limite di 2100 parametri (SQL Server) quando si utilizza Contains()

La mia soluzione (Guids è un elenco di ID in base ai quali vorresti filtrare):

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;