Comment écrire une instruction LINQ qui retourne ROWNUMBER d'un élément avec id == quelque chose?Instruction LINQ renvoyant rownumber de l'élément avec id == something?
Répondre
Il n'y a aucun moyen direct de faire ce que je sache de. Vous devez envoyer l'ensemble de la requête au client, et à partir de là vous pouvez projeter dans les numéros de ligne. Comme alternative, vous pouvez écrire une procédure stockée qui utilise ROW_NUMBER, puis frapper ce proc de Linq à SQL.
Dans votre cas, la seule façon de le faire serait le côté client. Gardez à l'esprit que la déclaration suivante ne va pas faire cela sur le serveur, mais va abattre toute votre table et obtenir l'index chez le client ...
using (var dc = new DataClasses1DataContext())
{
var result = dc.Users
.AsEnumerable() // select all users from the database and bring them back to the client
.Select((user, index) => new // project in the index
{
user.Username,
index
})
.Where(user => user.Username == "sivey"); // filter for your specific record
foreach (var item in result)
{
Console.WriteLine(string.Format("{0}:{1}", item.index, item.Username));
}
}
Vous devriez pouvoir utiliser les méthodes d'extension Skip and Take pour accomplir ceci.
Par exemple, si vous voulez la ligne 10:
from c in customers
where c.Region == "somewhere"
orderby c.CustomerName
select new {c.CustomerID, c.CustomerName}
.Skip(9).Take(1);
Je ne pense pas que ce soit la réponse à la question qui est posée, mais elle a été mise à jour, donc je la laisse ici. –
Comment projeter un numéro de ligne dans requête LINQ Résultats
How To Project a Line Number Into Linq Query Results
cette surcharge de Select n'est pas prise en charge dans Linq to SQL. Lance une exception NotSupportedException(). –
- 1. Paramètre Insertion instruction avec transaction renvoyant une erreur
- 2. autogenerated séquentielle Id avec l'aide de LINQ
- 3. Sous-requête linq renvoyant une valeur nulle
- 4. SQL SERVER, instruction SELECT avec auto générer la ligne id
- 5. instruction switch dans LINQ
- 6. Conditionnel LINQ où instruction?
- 7. Encapsulation LINQ instruction select
- 8. MAX (ID) dans SQL Server 2005 renvoyant des résultats inattendus
- 9. Instruction IF dans un SELECT LINQ
- 10. Comportement étrange de LINQ - ToList renvoyant le jeu vide
- 11. linq - comment combiner les conditions dans une instruction de jointure
- 12. Sélectionnez Something + Un nombre arbitraire Mysql
- 13. Instruction SQL avec plusieurs jointures
- 14. Convertir une instruction SQL en Linq
- 15. Définition d'une valeur $ _SERVER Php ($ _SERVER ['something']) avec Apache .htaccess
- 16. Comment puis-je ajouter OrderBy à cette instruction LINQ?
- 17. JSON.net renvoyant malformé JSON
- 18. jQuery: has (.something: contains()) non supporté?
- 19. OCMock renvoyant des valeurs
- 20. Utiliser `où T: SOMETHING` construire en C#
- 21. Renvoyer tous les autres enregistrements avec LINQ
- 22. Requête renvoyant 1 instance d'un enregistrement avec des doublons
- 23. Django renvoyant HTTP 301?
- 24. instruction sql use avec variable
- 25. instruction d'insertion SQL avec select
- 26. Problème avec instruction SQL en utilisant PHP
- 27. instruction WHERE avec le champ SET
- 28. Utilisez APPLY avec une instruction UPDATE comme source de ligne
- 29. linq to sql lier des objets par plusieurs champs ID
- 30. ResultSetMetaData renvoyant BigDecimal insted of int
Merci, Scott. Donc je suppose que vous le souhaitez ToList(), puis IndexOf()? –
sûr, j'ai aussi ajouté un exemple de la façon dont vous pourriez le faire avec la surcharge de Select qui vous donne un index. –
Sweet. Obtient mon upvote. –