Използвам нещо подобно на DynamicLinq, за да позволя резултатите от Entity Framework да бъдат подредени по низ, който съответства на име на свойство. Изглежда обаче, че всеки път, когато свойството за сортиране се промени, кешираният SQL не се използва, а вместо това се генерира нов израз. Това, което търся, е начин да накарам Entity Framework да използва SQL параметър за клаузата ORDER BY в SQL изразите, които генерира.
Успях да преодолея подобен проблем с методите .Skip() и .Take(). Така че съответните SELECT TOP N и WHERE ROW_NUMBER > M са правилно параметризирани в SQL изхода.
Има ли някакъв начин да накарате SQL изхода да използва клауза ORDER BY, която е нещо като:
ORDER BY [Foo].[@p__linq__24]
От гледна точка на SQL това трябва да е възможно.
Skip
иTake
? - person Ben Aaronson   schedule 05.06.2014sp_executesql
- person hometoast   schedule 05.06.2014