¿Hay alguna manera de realizar una consulta top (Take) linq usando porcentaje? El T-SQL habría sido:Versión LINQ de TOP PERCENT
SELECT TOP 20 PERCENT ...
Pero parece que LINQ solo quiere un int.
Parece que tendría que hacer un recuento y luego una toma. ¿Alguna sugerencia?
Eso es lo que estoy haciendo, y no me gusta:/Debe haber un método que se traduzca al SQL nativo. –
@Basallo: Desafortunadamente, no creo que exista. Usted^podría^extender la implementación de IQueryable de alguna manera para respaldar su propio reemplazo de Top, que luego lo traduciría al comando SQL Server apropiado. – casperOne
@tony: Una nota, aunque son 2 viajes, no es tan malo como parece. query.Count() se ejecuta como SELECT COUNT(), por lo que al menos no devuelve todas las filas, contando y luego seleccionando all nuevamente. Como dicen los demás, los procesos almacenados y las vistas serían otra forma de hacerlo ... – Daniel