2010-09-07 9 views
2

Mon programme C# exécute depuis longtemps une requête LINQ exécutée sur une base de données MS SQL Server. Je voudrais montrer à l'utilisateur une progression lors de l'exécution de la requête. Existe-t-il un moyen de comprendre la progression de l'exécution LINQ? Bien sûr, je peux montrer des progrès indéterminés, mais si possible, je préférerais déterminé.Déterminer la progression lors de l'évaluation de la requête LINQ

Répondre

1

Il ne s'agit pas vraiment de la requête LINQ, mais plutôt de celle du fournisseur sous-jacent. Comme SQL Server n'a aucune notion de progression pour une requête donnée, LINQ ne peut pas non plus. Quoi qu'il en soit, même si la source de données sous-jacente avait une certaine notion de progression, le framework LINQ n'a pas de hook pour relayer cela à l'appelant. Donc, la réponse est non, malheureusement.

+0

C'est dommage! Merci! – Alex

0

Il n'y a aucun moyen de le faire en utilisant LINQtoSQL. LINQtoSQL traduit simplement votre requête LINQ à une requête SQL et l'envoie à la base de données. Ensuite, vous attendez simplement que la base de données renvoie des résultats. Il n'y a aucun moyen d'obtenir des progrès pour cela.