Eu tenho uma consulta LINQ:
var list = from t in ctn.Items
where t.DeliverySelection == true && t.Delivery.SentForDelivery == null
orderby t.Delivery.SubmissionDate
select t;
Como posso modificar esta consulta para selecionar apenas cinco resultados do banco de dados?
Respostas:
fonte
take
apenas as 5 primeiras linhas do banco de dados?A solução:
fonte
Isso também pode ser alcançado usando a abordagem baseada no Lambda do Linq;
fonte
[Oferecendo uma resposta um pouco mais descritiva do que a resposta fornecida por @Ajni .]
Isso também pode ser alcançado usando a sintaxe fluente do LINQ :
Note-se que cada método (
Where
,OrderBy
,Take
) que aparece neste comunicado LINQ toma uma expressão lambda como um argumento. Observe também que a documentação paraEnumerable.Take
começa com:fonte
Additional information
Às vezes, é necessário vincular um modelo a um modelo de visualização e fornecer um erro de conversão de tipo . Nesta situação, você deve usar o
ToList()
métodofonte
Apenas pensando que você talvez não se familiarize com a sequência De-> Onde-> Selecionar, como no script sql, é como Selecionar-> De-> Onde.
Mas você pode não saber que, dentro do Sql Engine, ele também é analisado na sequência de ' De-> Onde-> Selecionar '. Para validá-lo, você pode tentar um script simples
e não funcionará, o motivo é que o mecanismo analisará Onde antes do Select , para que ele não saiba o alias i no local . Para fazer isso funcionar, você pode tentar
fonte