Como eu faço isso
Select top 10 Foo from MyTable
no Linq para SQL?
linq-to-sql
Caudill de ervas
fonte
fonte
Use o método Take :
No VB, o LINQ tem uma expressão take:
A partir da documentação:
fonte
Use o
Take(int n)
método:fonte
O PO também mencionou a compensação, assim, por ex. se você gostaria de obter os itens de 30 a 60, você faria:
Use o método "Ignorar" para deslocamento.
Use o método "Take" para limitar.
fonte
@ Janei: meu primeiro comentário aqui é sobre sua amostra;)
Eu acho que se você gosta disso, você quer pegar 4 e aplicar o tipo nesses 4.
Diferente do que ordenar tbl_News inteiro por idNews descendente e depois levar 4
não ? os resultados podem ser diferentes.
fonte
Isso funciona bem em c #
fonte
Eu faço assim:
fonte
Você usaria o método Take (N).
fonte
Se a tomada acontece no cliente ou no banco de dados depende de onde você aplica o operador de tomada. Se você aplicá-lo antes de enumerar a consulta (ou seja, antes de usá-lo em um foreach ou convertê-lo em uma coleção), a tomada resultará no envio do operador "top n" SQL ao banco de dados. Você pode ver isso se executar o SQL Profiler. Se você aplicar a tomada após enumerar a consulta, ela ocorrerá no cliente, pois o LINQ terá que recuperar os dados do banco de dados para que você possa enumerá-la.
fonte
Obter dados do DataBase sem classificar é o mesmo que obter aleatoriamente
fonte
fonte
Eu tive que usar o método Take (n), em seguida, transformar em lista, funcionou como um encanto:
fonte
Dessa forma, funcionou para mim:
fonte
Para
limit 1
métodos de usoFirstOrDefault()
ouFirst()
.Exemplo
var y = (from x in q select x).FirstOrDefault();
fonte