Comment puis-je faire cela
Select top 10 Foo from MyTable
de Linq à SQL?
linq-to-sql
Herbe Caudill
la source
la source
Utilisez la méthode Take :
Dans VB LINQ a une expression de prise:
De la documentation:
la source
Utilisez la
Take(int n)
méthode:la source
L'OP a également mentionné le décalage, donc par exemple. si vous souhaitez obtenir les articles de 30 à 60, vous feriez:
Utilisez la méthode "Skip" pour l'offset.
Utilisez la méthode "Take" pour la limite.
la source
@Janei: mon premier commentaire ici concerne votre échantillon;)
Je pense que si vous aimez ça, vous voulez prendre 4, puis appliquer le tri sur ces 4.
Différent du tri de tbl_News entières par idNews descendant puis prenant 4
non ? les résultats peuvent être différents.
la source
Cela fonctionne bien en C #
la source
J'aime ça:
la source
Vous utiliseriez la méthode Take (N).
la source
Que la prise ait lieu sur le client ou dans la base de données dépend de l'endroit où vous appliquez l'opérateur de prise. Si vous l'appliquez avant d'énumérer la requête (c'est-à-dire avant de l'utiliser dans un foreach ou de le convertir en une collection), la prise entraînera l'envoi de l'opérateur SQL "top n" à la base de données. Vous pouvez le voir si vous exécutez le profileur SQL. Si vous appliquez la prise après avoir énuméré la requête, cela se produira sur le client, car LINQ aura dû récupérer les données de la base de données pour que vous puissiez les énumérer à travers celle-ci.
la source
La prise de données de DataBase sans tri est identique à la prise aléatoire
la source
la source
J'ai dû utiliser la méthode Take (n), puis transformer en liste, fonctionnait comme un charme:
la source
De cette façon, cela a fonctionné pour moi:
la source
Pour
limit 1
les méthodes d'utilisationFirstOrDefault()
ouFirst()
.Exemple
var y = (from x in q select x).FirstOrDefault();
la source