Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Erreichen der Parametergrenze von 2100 (SQL Server) bei Verwendung von Contains()

Meine Lösung (Guids ist eine Liste von IDs, nach denen Sie filtern möchten):

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;