42 votes

LinqPad ne renvoie pas de résultats avec les instructions C #

Il est tard, donc, ce doit être quelque chose de stupide. J'ai LinqPad connecté à ma base de données et ne peuvent pas sembler obtenir des résultats pour le plus simple des requêtes.

var q = from app in AppInstances
 select new {
 AppId = app.AppId
 };

Quand je lance ce, LinqPad dit qu'il a exécuté avec succès (C#Déclaration de mode). Rien n'est retured.

Je peux écrire la suite de très simple Lambda (C# mode d'expression):

AppInstances.Select (p => p.AppId)

Et qui fonctionne. Pourquoi? Je préfère utiliser la non-lambda requête de la fonctionnalité du bâtiment. Je suis sûr que c'est quelque chose tous ensemble idiot.

71voto

Jon Skeet Points 692016

Je m'attendrais à ce qu'en mode de relevé, vous deviez faire quelque chose comme appeler q.Dump(); pour voir les résultats.

Mais si vous souhaitez simplement utiliser des expressions de requête, pourquoi ne pas le faire en mode expression? Il suffit d'utiliser une expression de:

 from app in AppInstances
select new {
    AppId = app.AppId
};
 

Ou pour le rendre équivalent à votre lambda original:

 from app in AppInstances
select app.AppId
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X