Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Atteindre la limite de 2100 paramètres (SQL Server) lors de l'utilisation de Contient()

Ma solution (Guids est une liste d'identifiants par lesquels vous souhaitez filtrer) :

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;