J'ai un scénario où j'ai une table de "lot" et une table de "test" où "test" contient un FK à "batch" et de nombreux tests peuvent appartenir à un lot.débordement de pile LINQ sélectionnant plusieurs
Je veux être en mesure de sélectionner plusieurs lots et de trouver tous les tests qui leur appartiennent. Je le fais en produisant une liste de clés primaires aux lots que je suis intéressé, puis la requête LINQ suivante:
var ret =
from t in tests
from b in indices //indices is a list of long PK's belonging to selected batches
where t.batch_id == b
select t;
Il fonctionne, mais quand ma taille de sélection dépasse 14 lots, je reçois une « erreur SQLite analyseur stack overflow "sur l'expression LINQ quel que soit le nombre de tests trouvés.
Je veux être en mesure de gérer de grandes sélections si possible. Comment puis-je faire ceci?
Quelqu'un l'a étiqueté comme LinqToSql. Pouvez-vous confirmer? Si ce n'est pas le cas, veuillez modifier les tags. En outre - puisque vous obtenez une erreur Sqlite, cela vous dérangerait-il de poster le sql qui a été envoyé à la base de données? (Utilisez DataContext.Log = Console.Out, si vous utilisez linq to sql.) –
LINQ to SQL ne fonctionne pas avec SQLite – DamienG
Probablement en utilisant LINQ to ADO.NET en utilisant le fournisseur SQLite ADO.net. sql tag a été supprimé et ajouté sqlite et ado.net –