from f in CUSTOMERS
where depts.Contains(f.DEPT_ID)
select f.NAME
depts
est une liste (IEnumerable<int>
), du ministère de l'ids
Cette requête fonctionne très bien jusqu'à ce que vous passez une grande liste (disons, autour de 3000 dept id) .. alors, j'obtiens cette erreur:
Les entrants (tabular data stream) appel de procédure distante (RPC) du protocole de flux est incorrect. Trop de paramètres ont été fournis dans cette demande de RPC. Le maximum est de 2100.
J'ai changé ma requête:
var dept_ids = string.Join(" ", depts.ToStringArray());
from f in CUSTOMERS
where dept_ids.IndexOf(Convert.ToString(f.DEPT_id)) != -1
select f.NAME
à l'aide de IndexOf()
correction de l'erreur, mais fait la requête lente. Est-il un autre moyen pour résoudre ce problème? merci beaucoup.