Cómo hago esto
Select top 10 Foo from MyTable
en Linq a SQL?
linq-to-sql
Hierba caudill
fuente
fuente
Utiliza el método Take :
En VB LINQ tiene una expresión take:
De la documentación:
fuente
Usa el
Take(int n)
método:fuente
El OP también mencionó el desplazamiento, así que por ej. si desea obtener los artículos del 30 al 60, haría:
Use el método "Saltar" para el desplazamiento.
Use el método "Take" para el límite.
fuente
@Janei: mi primer comentario aquí es sobre su muestra;)
Creo que si te gusta esto, quieres tomar 4 y luego aplicar el tipo en estos 4.
Diferente a ordenar todo tbl_News por idNews descendiendo y luego tomando 4
No ? Los resultados pueden ser diferentes.
fuente
Esto funciona bien en C #
fuente
Me gusta esto:
fuente
Usaría el método Take (N).
fuente
Si la toma ocurre en el cliente o en la base de datos depende de dónde aplique el operador de toma. Si lo aplica antes de enumerar la consulta (es decir, antes de usarla en un foreach o convertirla en una colección), la toma dará como resultado que el operador SQL "n superior" se envíe a la base de datos. Puede ver esto si ejecuta el generador de perfiles SQL. Si aplica la toma después de enumerar la consulta, sucederá en el cliente, ya que LINQ habrá tenido que recuperar los datos de la base de datos para que pueda enumerarlos.
fuente
Tomar datos de DataBase sin ordenar es lo mismo que tomar aleatoriamente
fuente
fuente
Tuve que usar el método Take (n), luego transformar a la lista, funcionó como un encanto:
fuente
De esta manera funcionó para mí:
fuente
Para
limit 1
usar métodosFirstOrDefault()
oFirst()
.Ejemplo
var y = (from x in q select x).FirstOrDefault();
fuente